As we see out the remaining weeks of 2021, we can look back on what will be nearly two years of accelerated innovation a...
How to recruit a programmer
But let's get serious. As the IT industry's high-speed rate of expansion continues apace, so the demand for software developers that increases accordingly results in a growing shortage of programmers looking for work.
How to hire, then? Good question. Although any given company looking to hire a programmer will do what it can to attract the best talent, how can it verify whether or not a particular candidate will be a good fit for the organisation itself?
I’ve spent a comparable amount of time on both sides of the mirror working as a front-end developer and IT recruiter, so in this article, I’ll try to answer this fundamental question and share any relevant opinions.
Degree or No Degree?
There's a simple reason for the brevity of this paragraph: having an academic degree in computer science doesn’t mean a candidate is good at software development. In fact, many companies stopped looking at applicants' degrees a long time ago.
An interesting study revealed recently that "72% of respondents consider bootcamp grads to be just as prepared and just as likely to perform at a high level as computer science grads. Some go further: 12% think they are more prepared and more likely to do better."
So, without further ado, let’s move on.
Evaluating Technical Skills
Verifying technical capabilities is crucial for any technical role. After all, a decent programmer must be able to write good code.
Therefore, a technical skills assessment will usually be the first milestone of the recruitment process, often shortly after an introductory screening call with an HR member. A new employer has to be sure the candidate possesses the right skill set that will enable him or her to do the job well.
Skills assessments should measure a candidate's qualifications objectively. But how are coding skills measured? There are a few options; ones often used in varying combinations.
The Take-home Coding Project
I will start with my favourite approach, which is to give a programmer candidate homework that is similar to what he or she would encounter in the company's true context.
One task, for example, might be to create an application with a defined (or undefined) tech stack. Or perhaps to modify an existing code.
I like this approach because it tackles real-life problems. As a candidate is to be recruited for a given company, the tech assessment should be adjusted according to the particular needs and requirements of that company.
There is a drawback to this type of assessment, however, which is simply that someone will be obliged to spend time manually checking the submitted task. So the more the candidates, the more time consumed by the process.
The Coding Interview Platform
Such tasks usually consist of a short description of a problem that a candidate must solve within a given amount of time, then pass tests that will confirm the solution is right. This approach is convenient because the evaluation of the test is automated. This speeds the processing of higher numbers of applicants.
There is a disadvantage though, since solving algorithmic challenges does not necessarily check the particular technical skills that are required for the position on offer. This type of assessment usually requires extra preparation.
The Whiteboard Interview
Whiteboard interviews are a long-used tactic for measuring developer applicants and can also be used to assess both technical and soft skills. It is a well-established approach whose origins date back to the 1980s.
Back then, programmers were required to write code with pen and paper since portable computers were large and expensive. Although the whiteboard eventually came to replace paper, its basic methodology is still being used today, often with virtual alternatives to the whiteboard itself.
A whiteboard interview involves conversation and problem solving without access to Stack Overflow or tools offered by code editors. This is arguably a more rigid, purist approach, and as a result often seen as outdated, given how online reference support has become pretty much integral to coding practice.
Evaluating Soft skills
Having refined technical skills doesn’t mean a candidate is the best choice. Let’s not forget that this person, to a greater or lesser extent, will have to talk with clients and interact with a team. Even if the candidate is a coding expert, there is always the possibility that no one will want to work with this person.
Furthermore, it can be the case where the improvement of soft skills becomes a greater challenge than the mere filling in some technical gaps.
A good recruiter can usually identify a candidate's strengths and weaknesses in such matters during the first screening call. Often they will be re-assessed by the team leader and/or HR person following the technical evaluation.
Soft skills are connected to another recruitment buzzword - the culture fit. Simply put, a good culture fit indicates that you share similar values with the team you will be working with, who, in reciprocation, will want to work with you.
How to hire a programmer at Google
Despite the fact that there are fewer programmers than jobs, Google is one company that cannot complain about a lack of candidates. They receive endless applications.
Recently, I came across an article describing the recruitment process for a software engineer role at Google - a process that spans an entire day.
Here, the candidate comes onsite for the interview process during which questions may vary from solving algorithmic problems to those such as: “You are on an island and there is a fire. You cannot escape from this island and you have to do something to avoid being burnt. What do you do?”
Technical questions range from the simple to the more difficult whereby interviewers look to assess the applicant's level of prowess. It is both an exhaustive and exhausting process, to say the least.
Soft Skills Enhance Tech Skills
Since this ongoing shortage of developers is unlikely to change anytime soon, it is crucial that candidates are chosen wisely. Within each organization are differing needs which the recruitment process must prioritize and accommodate accordingly.
Though technical skills will naturally find themselves at the forefront of many recruitment considerations, there must also be a proper emphasis put on the importance of soft skills.
Those looking to hire a programmer should not think only in terms of how the applicant solves a particular problem. Rather, they should consider whether that candidate will become a valuable addition to the team.
If your business needs developers and could use further advice on how to find that valuable new addition, feel free to reach out to us at firstname.lastname@example.org