Lets get something straight, I’m not a programmer, I’m actually writer so I’m not necessarily “trained” in how to identify a great developer from a not so good one. Let me tell you what I do know, I’ve met a lot of decent writers and journalists that are fairly good at what they do, from 9 to 5 or if there is a check at the end of the month, and as soon as they leave the office not a word gets written, in fact, most of them don’t even read outside of work related topics.
On the other hand I know people that not only write for one or several publications, they are also working on some kind of personal project, a book in most cases, they have their own blog and are always reading new material and picking up new ideas on what to write about next… that for me is a great writer, a passionate writer.
Ask any good writer if they ever written something for a friends publication or for a blog or book they liked just because they wanted to, with out getting anything in return, they will most likely say yes. They will probably have a notebook, (or several notebooks), with random text, unfinished ideas, or even a journal, I know I do.
If you ask me, something like that is what I want out of a programmer, someone that is so into it that even if they don’t get paid they would do it just because they love it. Their passion for code goes beyond a steady job or a career move, its almost like an obsession.
So if you are looking for one, ask them about what they do after they leave the office, if they contribute with any open source development, let them talk about the projects they have worked on, and so on… if they love what they do, you will notice right away, I promise.
Now, a lot of people that write for a living went to school for it and they have this or that degree that’s says they know how to do it perfectly, and that’s fine, but that doesn’t say you actually like it, just that you are qualified to do it. But I cant even begin to tell you how many people I know are awesome writers and are not “qualified” to do so.This same principle also applies to programmers, there is nothing wrong with having a degree or a certification that says that some one can work their way around code, but how do you know if they like it? Most of the developers I know learned their skills on their own.
Technology is an ever changing universe and a great programmer knows that so they keep up to date with the new and the latest, not because the company pays for it, but because they just want to learn and hopefully tackle a project using this new language or tool they are learning.
Sometimes resumes can be deceiving, so if you are sitting across the table with a new developer you want to hire, look past their resume, ask them about how many programming languages they know, and how they learned them. Find out how they keep up to date, what they read, and so on… If you discover that they are always reading blogs and forums about it, and they are doing all the research on their own, then you probably have a winner.
Other similarities between writers and programmers have to do with their portfolios. Let me explain, if I want to know how good someone can write, I read their previous work, their best work. So if you want to know how good a developer is, take a look at their best projects, and let them talk about it, that will be proof enough.
Now, in all of this, there is one disclaimer, there are a lot of myths around programmers been weird, socially awkward and what not, and in some cases that might be true, but thats not the point, I know a lot of awkward people that suck at what they do, and I also know a lot of really weird geniuses, so don’t let this fool you.