In my years hiring developers, I’ve had the chance to see thirty or so people come on board and grow with me in one organization or another. These people have ranged from fresh out of school to seasoned veterans. The single greatest impression I’m left with after all this is that you don’t always get the best developers by going after people with years of
experience.There are a lot of pretty standard practices in hiring developers. Recruiting firms make a living out of classifying people and finding fits for them.
Ask yourself how many of these maxims you have relied upon or adhered to in hiring over the year.
* Hire someone with experience in the technology you use.
* Don’t get someone fresh out of school unless you can take a great deal of time to train them.
* Pay should increase with experience.
* If you want to build a high-powered team quickly, hire experienced developers.
Now, go back and reflect on how some individual hires have worked out with respect to these guidelines. Here are some of my thoughts.
When it comes to the technology you use, you have to be ready to give a little. I’m not ready to suggest that you hire a Cobol guy for a C++ job, because the gulf is pretty wide there. But if I want a database developer to work in Oracle, and I find a guy who understands SQL Server, I’ll consider him pretty strongly, especially if I think he really *understands* SQL Server and isn’t just working out of the books.
There’s a stigma about getting folks right out of school, and it’s
understandable in a lot of cases. After all, when I came out of school, I still didn’t know what I wanted to be when I grerw up. 😉 Some people I’ve met, however, have been damn sharp – straight out of school. I’m not suggesting you let your guard down on this point, but make sure you keep an open mind.
There is also a pretty common practice to just roll over on pay increases with experience. I’m pretty sure that not everyone’s experiences are the same as they move through their carreers, yet they seem to all end up the same — “C++ programmer with 5 years’ experience”. I like to try to use the interview to tell whether this experience was rich or whether the guy was just sucking up oxygen.
Finally, I want to talk about building a team out of high-powered, experienced developers. It’s probably about the worst idea you could have. Get a bunch of “experienced” developers together, and unless you’re real lucky, all you’ll get is a bunch of infighting. If you want to build a team as quickly as possible, look for good attitudes, because everyone is going to have to learn a ton of stuff as things evolve, and there isn’t a lot of room for egos.