The perfect 1st stage interview for a Software Engineer...

The perfect 1st stage interview for a Software Engineer...

I'm a Technical Recruiter with five years’ experience. I specialize in recruiting Software and Mobile Engineers that work with technologies such as Java, Golang, Python, Swift, Kotlin, C++, and Node.js. Due to the nature of my experience, I am often asked to share advice on the best ways to interview Software Engineers.  

Through this blog series I am going to share my knowledge around the interview steps companies undergo when hiring a Software Engineer. I have been lucky enough to work with amazing companies whose diverse hiring methods will hopefully provide you with some inspiration or challenge your current process thinking. My aim by the end of this blog series is for you to potentially re-consider your hiring framework. 

According to our friends at Google, the first-ever recorded job interview was conducted by none other than Thomas Edison in 1921, Thomas created a written test to evaluate the knowledge of the applicants. It’s been rumored that the test contained strange questions such as “who is Hannibal?” and “Where do we import cork from?” - interesting! 

No alt text provided for this image

Since then, the interview process has come a long way. However, I am sure if we had a time machine a Cavemen would disagree as surely you had to prove yourself in some manner as an induction to part of a tribe! ;0 

No alt text provided for this image

Everyone has had a 1st interview…. According to Software Advice 63% of job seekers will likely end up rejecting a job offer because they have had a bad candidate experience during their interview process. 

No alt text provided for this image

The Phone Screen - usually consisting of a 20-60 minute phone call. This will be with the hiring manager, technical recruiter or a member of the tech team to assess if the candidate is aligned from both a technical and behavioral perspective.

  • Pros: The candidate’s communication and general values can be tested over the phone. It gives the interviewers a chance to explain the role and the company to the candidate in more technical depth. 
  • Cons: A lot of these questions will be covered by the internal or external recruiter so there is a chance of doubling up. It adds another step into a potentially already long interview process. If there are any connection or signal issues this could lead to a bad first impression for both candidate and interviewer. 
  • My Opinion: I feel this is a great process for the interviewer to sell the role to the candidate….yes you heard me! It’s often forgotten that a lot of candidates are not actively looking for a new role and/or they have multiple other options on the table. It’s also a chance to cover some basic values/team fit over the phone before starting the more technical interview process. 
No alt text provided for this image

Onsite coding interview - paired programming or live coding test with a member of the tech team.

  • Pros: You get to assess the candidate in a live coding environment there is no hiding and requires quick concise answers. 
  • Cons: Not everyone handles the pressure well in this kind of environment, candidates might not be used to the specific syntax or testing format the interviewer is after.  
  • My Opinion: I really like this kind of process, I know a lot of the top software companies use this interview step at some stage in their interview process. 
No alt text provided for this image

Take-home technical test - sent to the candidate before any interaction from the client in the form of a HackerRank, Test-dome, Codility or a custom-built take-home technical test

  • Pros: It’s easy for the client to send out a test-platform website to a candidate. Often the platforms are user friendly. These are timed tests and a candidate gets to complete it at a convenient time. These tests can also be used by internal or external recruiters to assess a candidate's coding skills before introducing their profiles to a hiring manager. 
  • Cons: These tests take time! If a candidate is not actively looking for a new role they are likely going to prioritize an in-person interview over a technical take-home test. I have been told that some very strong engineers have not been able to pass HackerRanks! :0  
  • My Opinion: I’m personally not a fan of a take-home technical test. Having a lot of experience working with clients who use the HackerRank platform specifically, who have used this test as a source of truth and missed out on talented candidates. We have examples of Engineers who have passed more comprehensive technical tests with arguably more highly regarded technical companies. Often test-platform websites are designed to assess an Engineers principles of coding that are usually learned in early university days, which are often tucked away in the subconscious! 
No alt text provided for this image

 Traditional interview - 1-hour face to face interview

  • Pros: This is a chance for the candidate to meet their potential manager/colleague face-to-face! This is important so both the candidate and interviewer can make sure there is an alignment in their values. Again this is a chance for the interviewer to explain and sell the role to the candidate. 
  • Cons: This step is usually unnecessary at the start of the interview process, the majority of companies will have a more values/culture focused interview at some stage of their process. This step can easily be used for a more technical discussion, coding interview OR completed over a video or phone call as mentioned above.  
  • My Opinion: I like this step! But I would suggest it should be added at the start or the end of a candidate's 2nd round technical interview?!

As you can see there are a lot of different ways to assess software engineers, my experience working with the likes of Atlassian, AWS, Macquarie Bank, Woolworths and lots of smaller software start-ups has shown me there is no wrong or right way to assess talent - but there are some options to make sure you hire the right person. If you feel you have the perfect formula please do share!  

Stay tuned for my next blog about the perfect 2nd stage interview, also known as the technical/whiteboarding interview!  

Ross 

Toby Hede

Principal Engineer · Security · Cryptography · Rust

4 年

Framing an onsite coding interview as "pressure" suggests the issue is with the candidate. The reality is that live performance doesn't reflect the way most developers have worked in their career. Pair programming is a skill that takes practice, on both sides of the keyboard. It is easy to overlook that the interviewer often also lacks skills and experience here. If you don't pair program as a practice in your company I would challenge the value.

Lottie Osborne

Talent Acquisition at Eficode | Tech Recruitment | DE&I ????

4 年

Great article and great advice Ross Hibbert!

Dean Staples

Talent Acquisition Lead - Regional at Infinite Aged Care

4 年

Some sound advice there Ross Hibbert - great read!

Md.Sheikh Farid Milon, PMP?

Country Head & Project Manager @ Bista Solutions Inc | ERP Consultant | PMI Volunteer | Agile Practitioner | Odoo Certified | CSE | MBA | Mentor

4 年

Great work, looking forward for next blog

Dan Humphrey

Head of Product Engineering

4 年

I agree Ross - this is how I've been conducting recruitment for many years now - I got to this process through trial and error and although recruitment is far harder than it was 5 or 10 years ago, this is pretty close to ideal for me. Some insights of my own: 1. Some of the strongest candidates have the worst CVs and vice versa. 2. A talented hiring manager or technical recruiter can short-list and (unfortunately) reject a large number of unsuitable applicants via a 20min telephone interview. 3. A technical assessment can highlight candidates with core skills and potential - if an organisation is open to developing their staff, don't aim for perfection at this stage.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了