How often do you find yourself in being disappointed when hiring programmers? You spent hours of your time looking through hundreds of CVs, reviewing endless lines of code, and conducting interview after interview. You end up choosing someone but more often than not, they turned out to be far from what you have expected. This probably leaves you wondering what went wrong? Maybe we can help.
We’ve gathered most common don’ts of hiring programmers based on our experience and interviews with recruiters and companies.
1. Treat the candidate’s skills and knowledge as the most important values when hiring programmers
Makes sense, right? Nobody denies that what a developer knows is important, but we tend to overestimate its value. What really counts is whether they are quick learners and problem solvers. If they have a solid knowledge base and are smart enough, they will be of much greater use to your team than someone who only has an academic understanding of programming.
2. When hiring programmers, rely on their degree to tell you anything
Although academic credential can be an indicator of a programmer’s eagerness to learn, they are far from a guarantee that the candidate will be a great developer. Even if you are hiring a programmer for an entry-level position, it is much more valuable to get to know their programming experience and skills than whether they did some fancy programming in college. Keep an open mind, it often happens that a talented developer skipped their programming classes and got a poor grade.
You can always ask an applicant for portfolio – maybe they have a Stack Overflow or GitHub profile or they can provide you with other examples of their work. Let them show you all the great things they have created. You really might be impressed.
3. Make decisions about hiring programmers based on previous employers
We tend to overvalue experience in working for big companies and brands. Even if somebody was working for a super famous firm, it neither means that he played an important role there nor that he passed a demanding recruitment process. Unless you know a company inside out, be careful about making judgments on this criteria.
It is also worth checking references the programmer provided you with. Then you can be more certain that the information you got is true. Research shows that job seekers often give false references on their resumes so better check it.
4. Treat experience as a major indicator of future performance
If a programmer already has 10 years of experience, then it means that they are much better than one who is looking for their first job. This may be very misleading as it doesn’t mean anything. On the one hand, there are programmers that after a whole day at work go home and spend another 8h on open source projects and learning new technologies as a hobby. On the other hand, there are programmers who switch companies every year. In fact if the programmer doesn’t have potential, several years of experience won’t help, especially if you can see that the programmer uses the same technology over and over for years and doesn’t try to learn anything new.
5. Invite every applicant that passed a CV screen for an interview
Wow, it sounds like you have a lot of time to waste. It’s much wiser to select only the candidates with the highest potential for an interview as the interview process is time-consuming. A technical interview usually means that an experienced programmer from your company has to be present and he usually has really some more important stuff to do. If you are hiring, then it’s almost certain that you have a lack of manpower in this field, so wasting the time of specialists to screen candidates is rather costly. So how can you deal with it? After doing a CV screen, you can invite candidates to do an online coding task or carry out structured telephone interviews in order to verify their skills (still you have to do it smart way). Then you will select only the best candidates and invite them for an interview. Always make notes about the reason why a candidate is not suited for a position. This way you can think them through in the future and tweak your recruiting process to be more efficient.
6. Demand to know the answer to specific programming questions
If you are verifying certain skills, then it makes ask detailed questions concerning programming languages, right? But when hiring programmers, you want to see how a programmer things and uses resources under real-world conditions. Even if a programmer doesn’t know the answer, does it mean that they will be worse at performing his job than the ones that can recite programming trivia off the tops of their heads? Or maybe they will just need to take 30 sec to Google the right answer like they would on a normal day at work? Skip the trivia during the interview, it really isn’t a useful recruitment criterion. It’s better to use that time on something that matters.
7. Test coding skills during the interview
Have you ever asked a candidate to write code during the interview when all the recruiters are watching? What for? If you want to see how a programmer works under pressure and whether they can program on their own, then feel free to do it. Otherwise, don’t create artificial conditions and don’t assess somebody’s ability to do the work. The best programmers are problem solvers. They can build on libraries to create new solutions. They are smart and creative, not reproductive.
During the interview, you should rather consider pair programming, which will show you more soft skills of a candidate like how they work in a team or how they handle remarks and changes in requirements.
8. Feel a recruitment agency is the answer to all your problems
Seriously? I know that hiring programmers can be a lot of hassle but is delegating this process to a company that often doesn’t understand the job that they are recruiting for really the best solution? An agency can save you time with screening CVs, but they are not competent enough to assess the technical skills of your candidates. If you decide to use a recruitment agency, then verify their competences in testing the technical skills of programmers. If they don’t do a good enough job for you, then let them do the CV and soft skills prescreening. They will certainly bring you good candidates, but still, you’ll have to verify the candiates’ technical skills.
9. Think communication skills are not important
It is obvious that programming skills are of the greatest importance, none can deny it. Still, you should analyze whether the position you are hiring for requires the candidate to be a team player. Some of the best programmers are great at getting the job done but are extremely difficult to work with. If you are looking for a developer that will work on a team, then don’t neglect communication skills. I know it sounds cliché but very often soft skills are the ones that contribute to developing best programming results.
10. Think “we need a programmer, lets recruit ASAP”
Last but not least, remember that the recruitment process is a part of a bigger puzzle. It is important to take a step back and think over your recruitment process and plan it carefully. Ask yourself some difficult questions: How can I objectively assess a programmer’s skills? Which questions and criteria were crucial in choosing the best programmers so far? How can I fine tune my recruitment process? And most importantly, how can I attract the best programmers so that they apply directly to my company once they decide to enter the job market. If you achieve this, a whole recruitment process will be much easier. Constantly work on it, until you discover the holy grail and you are able to find and hire the programmers that you really want.
So do any of these sound familiar? Has anything important been left out? Share your thoughts in the comments.