The Problem with Hiring Software Engineers
I have been on both sides of the interviewing fence. I have sought new opportunities in a variety of industries and have been the primary hiring decision maker for both big companies and startups. From both perspectives, I have come to only one conclusion: The way we hire technology professionals is fundamentally flawed.
The anecdotal evidence is everywhere. From White-Board driven interviews to lame “I hope you can remember some minute details that you would otherwise be able to look up” style questions, it is obvious that we make life harder on ourselves than we should. I am not aware of any other industry that goes to the lengths we do to trick our candidates.
Yes, hiring the wrong engineer can be an amazingly painful process that could derail a product. However, with those same engineers can simply lookup the “correct answers” but still not be able to develop quality software. Conversely, someone who can make a great stable, scalable, and efficient web application may panic during interviews, or worse, realize that it is better to “learn how to learn and research” than it is to memorize every technical detail.
When I perform interviews, I keep it simple. Quick phone screen, ask for some approaches to problems (“How would you architect a basic blog system? Defend your technology choices”; “Describe a difficult problem you were not able to overcome at the time”), then if we like the candidate, bring them in for an in-person interview.
Technical details and skills can be taught. Interpersonal, cultural preferences, and problem solving skills are more difficult to change.
So no, I will not go through several rounds of technical questions focused on things I probably learned 15 years ago in college but have since forgotten. My experience should speak for itself. If you can’t tell in a phone screen and single face to face whether I would be a good fit, then let me save you the time: I’m probably not a good fit.