When you are looking for a new job, finding the right job that matches your technical skills, experience, and personality is important. Software development in particular has certain requirements that distinguish it from other sectors in terms of how companies might identify the right talent.
This is largely due to the nature of modern programming and developer roles, where the traditional resume or interview may not showcase the full range of your technical skills. As a result, many companies have adopted technical testing as an important step in their hiring process
In Australia, employers such as ROKT, Tripadvisor, and Amazon are already engaging with HackerRank to help them screen and assess new developers as part of their interview process. Other organisations such as Trunk Platform and HotelsCombined have developed their own internal platforms that they use to undertake technical testing to help them assess potential new hires.
So as a developer, do you think potential employers should focus on technical testing to replace the job interview? And for some roles, can technical testing replace the job interview entirely?
Some companies have already dropped the traditional interview
In some cases, companies have dropped the traditional resume and interview path entirely to rely purely on technical testing.
Singapore based bank, DBS, when recruiting for 100 developer positions decided to rely on a coding challenge and hackathon to select from the candidate pool in an attempt to bring a new approach to their hiring strategy. DBS’s two-stage process involved an initial online assessment challenge, the results of which were then used as a basis to invite candidates to a two day live hackathon session. This was a far more in-depth opportunity to gauge the programming and technical capabilities of the applicants. The most successful candidates after the two-stage process were then offered full-time positions with the bank.
Automattic (responsible for the Wordpress platform) employs a unique interview process that employs a combination of text-only interviews with the CEO/Founder, Matt Mullenweg, and paid “hiring auditions” that involve remotely solving various projects. At Automattic, job offers are often made without a single voice call with their manager.
Source: Business Insider
Why do employers use technical testing?
Technical testing is used to try and get a fuller appreciation for the skills that a person has.
The traditional interview or resume does not always do a great job at revealing the capabilities of a modern software developer. A significant reason for this is developers are constantly learning and adapting their knowledge and skills to stay current in the fast-evolving technology landscape.
The findings of a 2017 Stack Overflow survey of more than 64,000 people revealed that more than 90% of the surveyed professional developers had taught themselves a new language, framework or tool entirely on their own.
If a skill has not been learned in a university degree, certification, or direct job experience, then it is difficult for that skill to be displayed alongside more traditional skills on a resume.
This can be especially true if you have learned a lot of skills directly from CodeAcademy, Pluralsight, Udemy, GitHub, Hack.Pledge() or even YouTube. Any technical skills developed from this type of learning resource are far less likely to be revealed in a traditional interview format. This is why technical testing is a beneficial step for both the developer considering a new role and the employer making a hiring decision.
Where does testing fit into the hiring process?
Technical testing or a technical interview is usually undertaken as a separate part of the interview process and is usually paired with a more traditional short form interview.
It can be some combination of online testing prior to an interview, a whiteboard coding test during an interview, or as a means to decide between preferred candidates after an interview.
Technical testing is often used with all shortlisted candidates as a key factor in deciding who to invite to interview. Regardless of whether you are interviewing for a junior or senior role, you should expect that some form of technical testing will likely form a part of the recruitment process.
What types of technical testing can you expect?
The technical testing process varies depending on the company’s requirements.
Some employers may choose to initially send candidates an online programming or logic problem prior to the in-person interview (such as the HackerRank testing employed by ROKT and Tripadvisor.) Usually, you will be given a login to complete an online test in your own time, and the test can take 2-3 hours or more to complete. This can help identify technically proficient (and interested) people prior to an interview.
Another very common form of testing is a “whiteboard test” or “whiteboard interview”. These are usually designed to test problem-solving skills as well as your communication skills while working through a problem.
For these tests, you are given a coding problem and asked to develop a solution on the whiteboard in front of the interviewer or a small team of people involved in the interview process. As these problems are usually reasonably complex and take significant time to complete, this also gives the interviewers the opportunity to engage with you as you solve the problem, and give feedback where necessary.
Another form of technical testing that can be used during a selection process is the agile development process of pair programming. Together the driver (the code writer, often the interviewee) and a navigator (the observer, often the interviewer) will work on a development challenge together. This will allow the interviewer to not only see how the developer is constructing code but also to see how they interact and respond to feedback.
There is no set standard for demonstrating proficiency in programming so be prepared to answer questions or code solutions to a range of technical problems; from the fundamentals through to higher level concepts. These may also be mixed with logic problems or brain teasers to try and give you the opportunity to demonstrate a broad set of skills, to be creative, and to think outside the box.
How do you get a good result on a technical test?
Like many forms of psychological testing, it’s important to not attempt to second-guess what companies are actually looking for. Each company has a unique cultural, commercial and programming environment, and they know the type of person that performs well. A technical test helps them to benchmark against people already in the company and ensure that they have the right resources.
Recently, Luke Singleton (Director, Spark Recruitment) had a developer interviewing with a high-profile IT organisation, and the individual only finished half the technical test.
However, the employer was so impressed with the work he did on the half he completed that they employed him.
Companies are ultimately looking for well documented, production grade code that solves the problem and operates in the test environment. Therefore, the best thing that you can do is ensure you are well prepared and have put in the hours of practice completing technical challenges. This means that you can focus on demonstrating your best all-around skills in the technical interview.
Can you prepare for technical tests?
Absolutely. Preparation for both the technical testing and interview portion is vital. It is important for developers to remember that in an IT interview there is still likely to be a focus towards their portfolio so make sure your Github or work on open source or side projects is on your resume and at the forefront of your mind going into the interview.
In terms of practising for technical testing, be prepared for a whiteboard test as these are very commonly used. Practise coding on a whiteboard at home so that it feels natural to you.
Some very useful online resources for practising coding challenges include:-
HackerRank - www.hackerrank.com/
CodeFights - https://codefights.com/
Codility - https://www.codility.com/
PluralSight IQ - https://www.pluralsight.com/product/pluralsight-iq
Completing practice challenges is proven to help programmers in their career path. HackerRank research found that of more than 2,000 developers that used its platform, those who did at least 10 to 20 hours of practice challenges were 50% more likely to get an onsite interview.
Should technical testing replace interviews in IT entirely?
Not so fast. While it is exciting to see major financial institutions such as DBS and Automattic embracing more innovative ways to find IT talent, dropping the in-person interview component entirely from developer recruitment is still unlikely to meet the full requirements of all employers.
This is because even the most technical IT roles usually still benefit from staff with a range of “soft skills” such as good communication and teamwork capabilities. And gauging someone’s cultural fit or ability to collaborate and work in teams is usually easier in a more formal interview setting.
Spark’s Director, Luke Singleton, has found there are still a range of benefits to be gained from the traditional interview:
“An informal interview that asks broader, behavioural questions, coupled with structured and specific technical testing can be the ideal mix. This combination allows a candidate to showcase both their technical skills along with their planning and problem solving abilities,”
Luke Singleton, Spark Recruitment
Technical testing is a very useful part of a broader recruitment process that can expand an organisation’s ability to find and hire the best talent. Each part of the recruitment process has its own unique and necessary role in confirming for both the employer and the developer that the role will be a good fit for both parties:
A quality resume helps attract attention and showcase relevant experience
Specific technical testing helps prove your capability in given areas
The face-to-face interview seeks to determine your fit within the team and how you will interact, complement, and cooperate with others
The final interview allows a senior person to verify and cross-check the decision, and to answer any remaining questions for both parties
The Pros and Cons of Technical Testing
Technical testing helps to facilitate great hires. It helps remove risk for you as the candidate as you get a feel for the type of code, culture, and technical problems you would encounter should you get the job. And it gives the employer greater confidence in your skills as well.
Software testing can lengthen the process - Most of us don't have a lot of time (or patience) for long, multi-stage interview processes. Testing represents a major investment of your time and effort.
Many people prefer it - Ultimately, developers write code and should be comfortable doing it. Many developers prefer the opportunity to showcase their skills rather than be assessed purely through an interview.
Multiple tests can be time-consuming and frustrating - people who are active in the job market and undertake technical testing for multiple roles might end up completing 11+ tests on their own time, which is a huge commitment. Some say it can be hard to maintain the quality and passion the more you do which can impact your chances.
Technical testing can be free of inherent bias - Interviews have the own inherent bias. The right technical testing can help identify the best skillset, not the best at self-promotion.
Approaches to coding can vary - Your personal approach to coding may differ from the interviewer's but be no less effective, which may impact the decision
Technical testing allows for better comparison - A measured standardised technical test can provide a fair and quantitative assessment
Testing can be absolute - A pass/fail approach might result in someone otherwise suitable in not being hired on the basis of a single assessment
It can feel like free labour - Solving a companies problems for free using your own time, skills, and experience can feel very frustrating - particularly if you don't end up getting the job!
Ultimately, technical testing is one piece of the recruitment toolkit that organisations can use to find the best developer talent. In most cases, it’s not used exclusively in the hiring decision, but it is becoming increasingly common.
With technical testing fast becoming the new norm in making hiring decisions, don’t be afraid of technical testing - embrace it.
By investing the time practising both online testing and whiteboard style problems, you will give yourself another opportunity to prove your capability and fit for a new job,
Technical testing done well is an effective tool in helping both the employer and the candidate make the right decision on their fit for a new role, and should be a win/win for both parties.
Spark specialises in the IT sector and has deep client relationships across the industry. Spark can assist candidates interested in working with Australia’s top IT organisations and has in-depth knowledge of the types of skills employers are looking for and the types of technical testing processes they favour.
Output or Attitude – which is the most important when assessing the performance of a Software Engineers?
Output or Attitude – which is the most important when assessing the performance of a Software Engineers?When the big companies move, the rest o...
Market Trends 2021 : Get our latest update on the Sydney Software Engineering Market.
We're excited to release our 2021 Market Insights report on the Sydney Software Engineering Market. Find out why Software Developers are in hot dem...
Market Trends April 2020. What is the current impact of Covid-19 on IT Recruitment?
The social distancing measures continue to cause economic disruption on a scale we have not witnessed in recent times and we expect businesses to ...
What To Expect in the Modern Software Developer Interview
Congratulations!You've been invited to an interview for your next software development role. But what should you expect? As the role of software ...