As I’ve been writing “The Hiring Handbook”, I’ve also been reading a ton of blog posts and things about recruiting and hiring developers.
This belief is as follows:
Being a developer is not about how talented you are. Development is not some born-with skill, but rather a set of skills acquired through practice.
Like a tradesman - a plumber, carpenter, electrician or the like - the only way you learn to be or grow as a developer is through practice.
Code is craftsmanship and pragmatism. It’s about knowing when to say, “It ain’t a piano,” and walking away or when to bang your head against the wall of a tough problem.
It’s about knowing which questions to ask and where to find the answers.
That’s the core of being a good developer. It’s not algorithms, or whiteboards, or CS degrees or anything else.
A developer is not a collection of talent, but rather a vessel of learning. A developer’s “talent” is the ability to see patterns in their work and to constantly improve that work.
It’s not knowledge, because that will be gained along the way.
It’s curiosity, a willingness to learn and work ethic.
And that’s what I hire for and the core of what I’m writing about.
Comments available on Hacker News
Why that particular article made me mad is a post to come later. The short version: Everything before the last point is bullshit that shouldn’t be done … And that point is not good enough. ↩
I’m not sure where I picked up this idiom related to carpentry, but essentially, it’s about knowing which details to concentrate on and which to ignore. ↩