Why do resumes suck for hiring programmers?
- They emphasize short, buzzword-filled entries that work well for people full of business-speak (and the other kind of BS). Is that really the kind of person you want floating to the top of your candidate pool?
- Hiring managers reject candidates based on resumes, when a resume has absolutely no ability to demonstrate technical skill.
- It rewards those who are willing to lie, without very little recourse for verification. This is not something I think about very often as I don’t lie on mine, and when I read resumes, I assume they are not lying either. However, occasionally I’ll hear a story about someone who did verify and found a blatant lie, and it reminds me that this probably happens more often than I’d like to think.
In a recent Inc magazine article, Jason Fried of 37Signals claims that you should “never read another resume”. He doesn’t, but then again, his company is in a unique position of having a flood of great candidates after investing a great deal of time building their image.
It should be fairly easy to recognize technical skill, right? Thousands of currently-employed crappy programmers and millions of horrendous LOC are a testament that it doesn’t work that way.
What are alternatives to resumes that would factor in technical skill?
Open Source Contributions
This is the option used by 37Signals, and I have an entire article devoted to why open source is not a good way to evaluate potential programmers. In short, there are plenty of great developers who don’t spend time on open source, as well as plenty of crappy ones who do. This complete lack of relevance to technical skill makes it a useless and even harmful barrier to entry.
Certifications
This one is an oldie, but like Monthy Python, it’s not dead yet. Certifications are granted by some body that claims to have authority, but they actually make money by people taking the tests, so it’s in their best interest to allow a reasonable percentage to pass. By taking money from test-takers, they have ruined their objectiveness. Plus, they rate developers in a pass/fail system: you are either a certified developer or not. This is not a reasonable way to judge developers since their skills range quite widely. And as soon as you’ve seen a couple of crappy developers who are “certified” their credibility is destroyed also.
Stack Overflow
The Joel on Software/Coding Horror camp described the problem perfectly, but the solution fell short. Since your Stack Overflow score is based on your activity on their Q&A site, it promotes people who spend a lot of time on their site, instead of the best programmers. That model certainly serves Stack Overflow well, by providing an incentive to spend time on the site, but doesn’t work so well for busy programmers or the companies that want to hire them.
Coding Tests
This one is really the best option for employers because it is the most accurate, but it’s also extremely time consuming for both parties. Even if you require a coding test before you’ll interview someone it’s still very time consuming to check all of the submissions. And many companies don’t want to require this: it turns off a lot of good programmers from bothering to apply (why should I spend an hour of my time just for the chance to speak with you?)
So what’s left … Code Anthem! Coming soon to a browser near you. Sign up for the beta now.