I'm getting married! - More Details

Building Better Developers

Monday, February 27, 2006 7:53 AM

I have a never-ending fascination with this concept that Eric Sink refers to as "Developers vs. Programmers".

For the purpose of this article, a "programmer" is someone who does nothing but code new features and [if you're lucky] fix bugs. They don't write specs. They don't write automated test cases. They don't help keep the automated build system up to date. They don't help customers work out tough problems. They don't help write documentation. They don't help with testing. They don't even read code. All they do is write new code.

Paul Graham also speaks to the notion in his essay entitiled "Great Hackers". The basic principle outlines the differences between the truly gifted developers, and those who unfortunately, are not. In speaking of great programmers, Graham notes:

Their defining quality is probably that they really love to program. Ordinary programmers write code to pay the bills. Great hackers think of it as something they do for fun, and which they're delighted to find people will pay them for.

In line with these similar recurring ideas, I stumbled across this article today - The best developers are built not bought. The general thesis here is in line with the above to, but strives to answer the question of how the masses can best go about finding that talent. The basic principal is that it is a Hard Problem.

The net result is that finding developers—the best developers—is nearly impossible to do. In fact, I've probably only hired two or three people that I would say were some of the best developers when they were hired.

Bogue goes on to say that  instead of pulling your hair out trying to find a truly gifted developer, you should look for

developers who express an inquisitive, learning-based personality. These developers really want to make a difference in their own lives and in the lives of others. They may not understand relational databases yet but they're honestly willing to learn. They bring an enthusiasm to the learning process that energizes the people around them.

I personally think that the truly gifted developers contain aspects of both groups - being truly talented, AND having a learning-based personality. These are the true diamonds in the rough. However, point taken in that given the difficulty in finding these personalities, it makes sense to go with the (relatively) easier-to-find people in the second group.

 

Comments

Zink
I should have commented on this ages ago... I really like Sink’s developer/programmer paradigm, too.

I've seen a few of these hardcore programmer types (or at least their code), and they make my job a pain in the ass. I'm the guy who goes through their horrid code to maintain, fix, and make it better (hopefully).

For some reason, this post reminds me of Atwood's "When Understanding means Rewriting" post: http://www.codinghorror.com/blog/archives/000684.html

It’s a powerful skill to be able to glance through some code and really understand it. I think a developer can do this. As a result, they know what code can be reused and what code needs to be ditched. They also keep things like future ease of maintenance and expandability in mind.

Identifying who's a programmer and who's a developer can be difficult, though... at least initially.

But, if you ever run across someone who, for instance, rolls their own ORM when numerous fully-featured ORM solutions are cheaply and readily available, I can tell you with certainty that THAT person is programmer and you should stay away!



Post a comment

   
 
  
  

    

All content © Dusty Davidson