Over time I’ve come to the conclusion that – although at first it seems wrong – there really is a recipe to really good developers. A developer blueprint that you can use to build the best team you can have.
Having a recipe for good developers seems wrong at first because of the ‘developers are resources’ attitude so common in large organizations, that basically pushes you towards using sub-standard developers because, well… that’s what you can get, but we all know that’s rubbish.
To get to this recipe I’ve analyzed most of the developers that I worked with, scrutinizing aspects, starting with myself. Based on this I selected my main list of ingredients, things that I seek in the people I want to work with.
To cut to the chase, the four ingredients that I look for in developers are:
- passion – these developers are driven by passion, they love what they do, to talk about it, and learn more about their craft
- skill – I favor skill over talent, mostly because of previous experience. A skill that is gained through hard work is more reliable than talent. You can depend on it, just like you can depend on physical reflexes… while talent seems to yield short burst of creativity and productivity followed by times of lower quality of work
- determination – this is a known and accepted fact. Paul Graham has a wonderful writeup on it in
The Anatomy of Determination, go read it
- collaboration skills – a good developer is a good team player, that can drive the team and that can be driven by it. You can find really good team-work skills in a junior developer also, as this is a human trait, not a technical one.
Looking through resumes, talking and working with these people made me realize that these ingredients also have the side-effect of compensating formal education, finding developers that have a slim technical background but that are more productive and successful than developers with high technical qualifications.
What do you look for in developers?