Finding programmers for hire has turned into a sea of confusion for every digital business or agency these days. In a dynamic and constantly expanding technical field, discerning what kind of talent is the right fit can feel like a vision quest. As a staff augmentation firm, our whole business model is built around perfecting that quest. Our focus is on delivering the expert, seasoned talent that our clients need within a short turnaround time. We recognize, though, that there are situations where you may not want an entire team that’s ready to deploy. Maybe for now you need to find just one great programmer for hire. If that’s your situation, we thought we’d offer some tips on Do’s and Don’ts that have served us well in being able to recruit the top 5% of programmers in our home region of Latin America.
Where to start looking for programmers for hire
If you are a non-developer looking for a great programmer to hire, you are probably not going to be able to do it on your own without at least some level of technical knowledge. The best thing you can do is have a clear vision of your project and take your time. Nothing kills a project faster than hiring a bad developer to work on it.
> Enlist some advice and help from knowledgeable developer friends
Try to find some developer friends to point you in the right direction. Ask about the hiring process, the best screening questions to ask in a first interview, and what specific answers you should be looking for. This should give you confidence to tackle the first round of interviews on your own; however, try to have a programmer friend or colleague in the room to help with later rounds. Once you start asking more technical questions, you really need to have someone around who knows what to look for.
>Attend hackathons to scout for new talent
Hackathons are one of our favorite talent-discovery activities. A hackathon is an event where programmers and software developers collaborate to create new software. Some hackathons are purely social or educational, but they always attract participation from a lot of talented developers. Many hackathons are narrowed down by specific focus, and you should target those that are relevant to your product.
>Review open source code contributors
Sites like GitHub offer an online repository for code where programmers can contribute to open source projects. As a plus, you can look at samples of a candidate’s code before contacting them. If you don’t have programming experience, you can ask a friend who does to help you look for good candidates on Github.
>Review job postings and resumes on Stack Overflow
Stack Overflow claims to be the world’s largest developer community, where over 50 million developers come to learn, share their knowledge, and build their careers. If you create an account there you can view resumes from candidates all over the U.S., U.K. and Germany. You can also review other employers’ job postings for ideas about what to include in yours.
>Rely on their degree to tell you much
Although academic credentials 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.
>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.
>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, right? Well, not necessarily. There are young 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. If the programmer doesn’t have a willingness to learn new things, no number of years of experience will help. If you can see that the programmer uses the same technology and techniques over and over for years, he or she is probably not going to work at the level of innovation you need.
>Invite every applicant that passed a CV screen for an interview
Given how much time the interviewing process consumes, it’s far wiser to select only the candidates with the highest potential. 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 in a 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.
>Demand they answer to specific programming questions on the spot
If a programmer doesn’t know the answer to a specific question, does it mean that they will perform worse than the applicants that can recite programming trivia off the tops of their heads? Not at all. In the age of instant information, they may just need 30 seconds to Google the right answer. More important is their ability to quickly resolve a complex question or problem. The question is not whether or not they need to look it up, it’s that they know what and where to search for the correct answer.
>Think communication skills are not important
Beyond assessing their programming skills, you should analyze whether the position you are hiring for requires the candidate to be a team player. Some talented programmers are great at getting a job done alone but are extremely difficult to work within a group. If you are looking for a developer that will work on a team, then don’t neglect communication skills. It may sound like a cliché but very often soft skills are the ones that contribute to developing best programming results.