Decoding the Software Engineer
Code Testing in the Hiring Process
By Jon Piggins, Executive Recruiter, IT Division
Tech recruiting is all about matching culture and skill sets. We are not engineers or coders, we are business solution drivers. And let’s face it, even in a small startup tech company, not everyone is a techie. So how do we find the best technical & engineering talent out there for growth-mode tech companies?
We network with development talent, vet prospective candidates often before we ever reach out to them, and we onboard prospects from the get-go – which is easy to do as we only work with companies that we believe in and are excited about, a luxury we are proud and grateful to have.
When it comes time to verify the technical skills of the candidates we work with, there are a variety of methods. There is the obvious, what type of degree did they obtain, what school did they go to, what honors or awards did they receive? Has a candidate continued their education through additional certifications or teaching themselves new languages? Are they actively writing applications because they are passionate and live and breathe programming? Are they active on GitHub or present in the app marketplace? What do their peers, managers, and direct reports have to say about them?
Most of the time, if the investigation of these aspects has been done, we know what a candidate is capable of. That said, we aren’t software engineers and we don’t evaluate the quality of a candidate’s code. We find that approximately half of our clients have a formal code testing process as part of their interview process; and may have a less formal coding evaluation woven into the process.
Once we’ve recommended candidates to our clients, they evaluate and decide if they’d like to initiate their interview process. Vetting the programming abilities of prospective software engineer hires is a key part of the process. Technical exercises and tests help to ensure that the candidate has the technical chops required for the position before the interview process gets into the later stages.
Some tech companies require sample code or completion of a problem set prior to any phone interviews. This can be effective in weeding out folks who aren’t motivated to work for that company or others who don’t have a high skill level. The risk is that in a highly competitive market with relatively low unemployment, candidates may be turned off by the additional step of a technical exercise.
One possible solution… talented programmers most likely have some sample code available for evaluation via the public apps or GitHub/OpenSource projects they are sharing online. Reviewing samples of a candidate’s work prior to a phone screen gives the employer a good introduction to the candidate technically, and provides a spring board into a more in-depth conversation.
Most of our clients conduct a phone screen to get acquainted with candidates and allow the candidate the same opportunity. This gives both sides the opportunity to judge whether they want to move to the next step in the interview process and to build some excitement about the potential employment opportunity. A more focused look at skills may begin on the phone, but most often takes place after the initial phone interview. This can happen prior to a face to face interview, or during an onsite interview.
Testing as a prerequisite to the onsite interview will whittle down some additional applicants, but at this point the paring down of the candidate list is usually more beneficial. Those candidates who are reluctant to perform a prerequisite test are usually not a good fit, not truly excited about the opportunity, or not up to snuff technically.
Testing during a face to face interview is usually the most effective way to not only validate a person’s programming abilities, but also to vet other important skills. Testing the candidate in person allows the interviewer to get a sense of the candidate’s intelligence and style, their ability to problem solve, and the kind of process they use. Some companies have a current employee peer pair up and program with the candidate as a way of evaluating not only hard skills but also teamwork soft skills and personality fit. In-person code writing and problem solving is the closest thing to actually working with the person; and this process should highlight the candidate’s communication skills, passion about the real work your company does, and whether there is a real fit.
Testing is time-consuming, but let’s face it, finding good talent is an important investment. One that should yield dividends for your team and success for your business.
If you are looking for more on what kinds of technical questions to ask or coding problems to test, here are some great articles with a plethora of examples:
Epic List of Interview Questions – by Kate Matsudaira
A list of software engineer skills or areas that can be tested and evaluated in an interview context.
http://katemats.com/interview-questions/
The Five Essential Phone-Screen Questions – Stevey’s Drunken Blog Rants™
https://sites.google.com/site/steveyegge2/five-essential-phone-screen-questions
Why Can’t Programmers… Program? – by Jeff Atwood
http://blog.codinghorror.com/why-cant-programmers-program/
The Guerrilla Guide to Interviewing (version 3.0) – by Joel Spolsky
http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html
About the Author:
Jon Piggins, Executive Recruiter, High Tech Division
Jon is personable, knowledgeable and completely reliable. He has extensive sales and business development experience, in both B2B and B2C. Put Jon’s business insights and acumen to work for you by expediting your talent acquisition and hiring processes.