In the wake of the Covid-19 pandemic, online work has become the norm, especially in the highly technical field of programming. Talented remote coding applicants have emerged from lockdown increasingly unwilling to maintain unnecessary — and potentially dangerous — office hours.
Employers, for their part, have been reevaluating their need for expensive office space. They are also increasingly unwilling to expose themselves to liability for worker safety. As the need to hire remote coders has gained momentum, so has the need to establish sound hiring practices. How can employers know that they are hiring the right people?
While conducting online code interviews seems an obvious answer, employers tend to be all over the map in terms of handling such interviews. While the specifics of every remote coding environment are unique, keep these high-level recommendations in mind as you optimize your hiring process.
Write Down Your Team’s Questions
This is definitely not the time to wing it. Run your initial list of questions past as many technical and non-technical eyes as possible. You’ll be amazed at the insights you gain from remote workers who couldn’t write a line of operational code to save their lives. Here are some sample, internal-only questions to help you get started:
- Can this remote coding applicant actually write code that is compatible with the specifics of our work environment?
- Does this person move from abstract concept to hard coding smoothly?
- How much experience does this person have using the specific production and testing tools our team prefers?
- Does this person appear to remain open to alternatives?
- How well does this interviewee explain his or her coding choices?
- Is this someone we would all enjoy working with?
Clearly, these are not the sort of questions you’ll be asking the applicant directly. Instead, think of them as principles for guiding your unspoken observations during the interview.
Before the Remote Coding Interview
Keep in mind that as you interview applicants, they are interviewing you. It may be that the person you are interviewing now is not right for the available job opportunity. But it’s a good bet that they have friends, and some of those friends might be perfect for your company. Do what you can to set appropriate expectations and make the interview experience a pleasant one.
Ask for Online, Operational Samples of Past Work
When you contact a remote coding applicant for a code interview, ask for links to online resources that feature their past work. (Your sharper candidates will have already offered these without being asked.) If you sense any resistance to supplying work currently in production, this could be a red flag.
Do a “Mic Check”
Run a quick test with another employee to ensure the shared code editor with syntax highlighting is working properly from a remote coding location. The last thing you want is to discover a technical glitch on your end once the interview begins.
Establish a Low-Pressure Environment
When the interview is over, you will want to have a good grasp of how the applicant will function in a normal work setting. What you don’t want is to set up a grueling gauntlet and assess elevated heart rates.
Set Expectations for Coding
Make sure the interviewee is clear in terms of what you will provide and what you will expect from them to code themselves. Let the applicant know that you will be providing written instructions at the time of the interview and not before. Allow a few minutes (no more than five) after you provide the instructions to field any questions.
During the Interview
Let the applicant know how much time they will get to work on their code. If the coding session is set to run for 45 minutes, for example, let the applicant know whether you plan to offer verbal warnings. You could say “five minutes remaining” or leave it to them to track the time.
When the interview is over, you will want to be able to provide your team with objective, measurable data. For example, “Applicant completed assigned task with nine minutes remaining.”
Pay Attention to the Applicant’s Soft Skills
Take note of how the applicant interacts with you and any other team members. An exceptional coder may be lousy at making small talk. Maybe that’s OK in your work setting, as long as they demonstrate the ability to communicate appropriately when needed.
Note How the Applicant Responds to a Problem or Mistake
As the coding begins, pay less attention to the characters on the shared screen and more to the “character” at the keyboard. The exercise itself can be recorded for later evaluation; your job during the interview is to pay primary attention to the applicant.
Determine Whether Someone Else Can Follow the Code Being Written
If you’ve seen the first “Jurassic Park” film, you’ve been exposed to the idea that there are unscrupulous coders. In a misguided attempt to make themselves indispensable, some programmers will construct convoluted, indecipherable code strings. Better, more confident coders will insert comments and instructions as needed to offer a coder-to-be-named-later clarity and bread crumbs to follow.
Offer Assistance Sparingly, If at All
This is an issue that both you and the applicant will need to address up front. There may be instances when it’s appropriate for the applicant to ask questions, or you may prefer they operate with zero intervention. Expectations can and should be discussed verbally but should also appear on any written instructions as a reminder.
Leave Time for Interviewees to Run Their Code in Real Time
Once your interviewee has finished the exercise — or run out of development time — have them run their code. The responsibility for running the code and demonstrating its success or failure should rest with the applicant. However, you will want at least one member of your technical team to observe the demonstration.
After the Remote Coding Interview
Ask for Immediate Feedback
Allow time at the end of the coding session for the applicant to ask questions. This allows you to clear up any misunderstandings that may have arisen during the interview. Have someone take detailed notes if the session is not being recorded. Use applicant feedback to refine your testing processes as appropriate.
No one likes to be left hanging. Demonstrate respect for all of your applicants by promptly notifying them of your hiring decision. If asked for feedback on a decision not to hire, check with your HR folks first as to what you may share.
Filling your tech bench with remote workers makes sense in a post-pandemic landscape. It also opens up the possibility of hiring outstanding programmers whose only issue is that they don’t live nearby. While monetary compensation still scores high on everyone’s list, top developers also value an accommodating work environment. A well-run code interview will encourage them to choose yours.