Hiring programmers through a resume is like asking an actor to take an essay test to understand his acting skills! Ridiculous isn’t it? Well, in this article I will discuss all the aspects of hiring a developer.
What are different types of coding tests available, common coding languages, algorithms and questions used in the coding challenges. Training for candidates, websites that provide practice sessions, employers that are actively using these programming challenges to hire a developer.
1. Screening a Programmer
There are different types of screening methods to hire a software developer or programmer.
- Coding Test or Programming Test or Code Test
- Online Code Test or Software Test
- Online Proctored Code Test
They all seem to look the same with a word appended in the beginning or end. Here’s the difference.
a. Coding Test:
You gather all the candidates in one room, ask them to show an output that has “Hello World” or equivalent. Here you will need a room and an invigilator/proctor to ensure they aren’t cheating. There are further categories in this.
In a hackathon candidates are invited over to a location and given challenges which can go on for a week or sometimes a few days.
This is seen as a measure of true meritocracy of the developer as he has to battle with other coders and only the best developer wins. These tests can have multiple levels and can happen over a period of time. Hackerrank are one of the best in their space.
They are not sprint-based like Hackathons but happen in a similar fashion where candidates submit the responses and go back home. Typically lasts only for a few hours.
Most organizations end up choosing this method. But this is extremely time consuming and labor intensive and cannot run without an invigilator.
Cons: Problem with the on-premise code test is that the candidates will have to travel to the interview location. It is time consuming and logistics intensive. Candidates that are currently employed elsewhere cannot peel out of their work to attend an all-nighter screening method. Not to forget the need for invigilators to ensure no one is cheating. And you will need subject matter experts to take out time to review all the code.
b. Online Code Test:
Also known as online software interview or online programming test, this type of online assessments comes in where the candidates take the code tests online. Questions are given to them at a said time. All the candidates come online at that time and take the test.
Cons: The risk of cheating here is enormous. Candidates can easily have another candidate write his tests or have another guy helping him Google the answers or use mobile phone to check answers.
There are articles online helping candidates cheat online tests. Hackerrank and Codility are some of the providers in this area.
c. Online Proctored Code Test:
In this method, candidates take up the interview at a said time online and there are proctors on the other end who oversee the candidates through a webcam to ensure no cheating is happening.
In an advanced version of this, candidate videos are recorded which is then reviewed by a proctor after the code test. These two methods are extensively used by companies and is seen as a fair method to hire the candidate. Mettl and Talview provide this type of tests.
Advanced Online Proctored Coding Test is a fairly new type, where candidate’s video is recorded, there’s face detection, background audio recording, illumination level checks and screen recording of the candidate’s
The system also flags for any malpractice or suspicious activity saving considerable amount of time. The system also allows score-based section cut off so that candidate can go to the next challenge.
This type of online Software interview not only allows traditional hiring but also supports hackathons without involving physical presence of the candidates.
Talview is currently the only provider that provides such advance level of proctoring and 24*7 support to candidates and employers.
2. Common Programming Languages
Almost all programming languages are supported by vendors; but some some are more popular than others.
Here’s a list of common languages supported:
- Dynamic Programming
- Object Oriented Programming
- SQL, PL/SQL
Talview supports 56 languages in total, highest among others in the field. Some programming languages are best tested in advanced environment for better results. VM-based simulations provides such an environment.
Talview Virtual Machine-based Simulations is a multi-faceted solution that can provide candidates with a cloud-based Virtual Machines environment with any Graphic User Interface based application to accomplish specific tasks.
3. Common Questions Asked in Coding Interviews
- Questions based on data structures
- Maximum depth or height of a Binary tree
- Finding prime and composite numbers
- Solving code challenges using java arraylist
- Finding the longest palindromic substring
- Graph Theory Challenges
- Using java biginteger to add and multiply huge numbers
- Time complexity code
- Finding the shortest paths between nodes in a graph through dijkstra algorithm
- Fizzbuzz challenge (Hackerrank’s challenge where multiples of both 3 and 5, must be printed as "FizzBuzz" instead of the number and so on), and
- Other string questions like finding the longest common subsequence
4. Practice & Training
Cracking the coding interview can be quite difficult and one problem can have multiple solutions. To equip themselves candidates usually look to practice coding online and find out where they stand.
A lot of vendors who provide code test also allow practice sessions and also provide training or programming lessons on popular code theories.
Hackerrank, Codility and Mettl provides both these and Hackerrank is a pioneer in the field. They have open challenges that allows programmers to upload their code, there’s scope for discussion and leaderboards as well.
Training and practice sessions are provided for:
- Greedy algorithm
- Binary Search algorithm
- Euclid's algorithm
- Manacher's algorithm
- Fibonacci algorithm
- OOP (Object Oriented Programming)
- Dynamic Programming algorithm
- Euclid’s algorithm
- Sieve of Eratosthenes algorithm
- How to calculate time complexity
- Linear Time Complexity
Codility and Hackerrank provide programming lessons and Codility’s lessons are the most popular among candidates.
5. Employers Currently Using Coding Tests
Almost all employers who are present on the virtual world use coding tests to hire developers. They either hire a vendor to run a test or run it themselves if they have the bandwidth, time and logistics. Some popular organizations that employ Coding Tests are ZS Associates, Booking.com, Societe Generale, Adobe, HCL, Cognizant, and DRG.
Some of them have used hackathons to hire the best programmer. Some have used simple proctored code tests while others have used proctored hackathons.
For example, Adobe had a code fest for women called Adobe Codhers. Similarly Societe Generale had an internal hackathon on a national level to identify the best programmer to represent them for a Parisian code fest which was powered by Talview.
This is part one of a two part series. In part two I will discuss pricing structures, how to buy a coding test software, comparison of all the popular vendors.