The modern-day tech hiring practice often sees most companies use the same process as the tech giants to hire talent. However, in actuality, every company varies in size and scale and therefore the question of divarication of tech hiring seems to be a fairly important aspect to consider.
While a bigger organization might require coders to conduct smaller segments of code, small organizations would need their coders to identify which framework libraries to use and perform a larger number of coding tasks. Therefore, using the same process of tech hiring, irrespective of the size and scale of an organization can be a problematic approach to hiring in contemporary times. Early and mid-size companies hiring the wrong candidate can potentially cost you much more than larger companies.
Here are some different ways of doing technical interviews. The next section will highlight the pros and cons of each of these interview strategies and then provide you with my recommendations on each type of interview:
- Coding test
- Take-home assignment
- In-person whiteboard interview
- In-Person pair programming
Home coding tests are typically short tests ranging from the duration of 45 minutes to 1.5 hours in which the candidate typically solves a small problem. The time commitment required here is very low and this process efficiently filters the candidates who are not technical enough.
These assignments assess a candidate’s coding skills typically involving data structures and algorithms. However, these assessments do not evaluate more experience-based coding abilities such as system architecture, trade-off and building maintainable systems.
They work for companies that typically have a huge input pipeline so that they can remove candidates who do not pass basic coding tests.
Take-home assignments are a series of tasks provided to the developer to complete at their home. These can be used in an initial or later stage when the candidate is being interviewed by the company.
Home assignments usually require a substantial commitment from the developer ranging typically between 2 to 4 hours. Take-home assignments are excellent tools for accessing a developer’s software development skills. The assessment usually takes 36 hours as a coder builds full functionality of a minimal product. They effectively demonstrate the best practices of coding styles, the understanding of edge cases and testing capabilities.
In spite of the quality and effectiveness of the assessment, the biggest downfall of home assignments lies in their inability to make developers go through this assessment. This is because of the time-intensive nature of home assignments- developers have to take a whole day out of their schedule to complete them.
Technical Interviews White Board
In White Board interviews, a candidate is asked to write a code on a whiteboard where the interviewer asks follow up questions. The time required here is one hour of engineers' time multiplied by the number of candidates who are there for the interview. Board interviews help access developers' programming skills such as data structures and algorithms.
The biggest downfall of this is that it leads to a lot of candidate anxiety, or leads to a situation where he/she may not be able to produce a high quality fully functional solution in a short span of time in front of the engineer. Also, this is hard to scale
This works best for companies who want to understand the thought process of the candidate as the interview evolves continuously interacting with the candidate, therefore the interviewer is able to understand a developer’s logical and thinking abilities.
Technical Interview Peer Coding
In this type of interview, the candidate will code on a laptop in front of an interviewer. His/ her interview process can be done physically or through live code software. It’s similar to the whiteboard interview with the only difference that he has to write actual code instead of pseudo-code.
The time commitment required for this is the same as the whiteboard interview which is 1 hour of your engineering time. It also requires time for you to create the problem and set up the environment beforehand. Unlike whiteboard, most of the time here is spent on syntax and ensuring the code runs so this process is not able to efficiently capture the problem-solving thought process of a developer. This technique is excellent for engineers who are working in large teams because you do want a check for his ability to write code and this is the closest emulation to a live workspace.
To conclude, while there exist several types of coding interviews- each phase of the interview process needs to be meticulously thought out to drill deep into skill sets, logical thinking, team fit, and actual problem-solving.
At the end of the day, we all want to skip the never-ending interview rounds and get to the sum and substance: does my candidate have the technical expertise, drive to succeed, and the skills to thrive in this team? Codejudge works on bridging the gap between these quandaries to integrate a hiring process that is faster, smarter, and more trailered to fit different types of organizations.