July 16, 2020
Wondering how to prepare for a coding interview? Deep breaths: It’s not terribly complicated!
An individual’s interviewing experience is a key factor in them landing a job. There are several online resources aimed at preparing a candidate for an interview, but most resources don’t answer this crucial question: How do recruiters and hiring managers see this from their perspectives? How do they evaluate candidates? How do they expect a candidate to perform?
Esteemed Talent Acquisition Manager Steve Winter and an industry veteran Director of Engineering and Product Füsun Wehrmann answered the questions of Coyotiv’s founder Armagan Amcalar in a session on what recruiters and companies expect from junior candidates with real-world examples. In this online webinar, we discussed the best practices of looking for a job and interviewing, from the point of view of recruiters and hiring managers.
If you missed it you can watch the full recording of the event now:
What does a typical interview process look like? What are the stages?
An enterprise business may opt for an assessment centre where you’ll be invited along with a number of other applicants and will cover multiple topics throughout the one day, including presentations, a group working and an individual interview.
An interview process at a startup or SME business would typically consist of 3-4 different stages, each designed to assess you in a different way.
The first stage would nearly always consist of you talking with an internal recruiter or talent acquisition partner as most companies call them. This acts as a first filter for the company and allows the recruiter to qualify the candidate in line with what the hiring manager requires in their team. The recruiter acts as the gatekeeper to the hiring manager so it’s important you know how to showcase yourself in this call.
At sennder, our process would then move on to the 1st interview with a hiring manager, typically 30-45 min. It’s an opportunity for the engineering manager to assess your technical knowledge a little further, they may have some predefined technical questions around frameworks or tools.
After or sometimes before the 1st interview stage you may be given a coding challenge to do at home in your own time, this is also used to assess your technical level and can sometimes be used to steer the conversation in a 2nd interview, typically with 1-2 senior engineers from the team that is hiring. They may run through your code test and ask questions on how you approached this.
If this interview is successful then a final interview may be set up where you will talk with somebody from the technical leadership team, typically an Engineering Director or CTO. This would normally be solely focused on behaviors and culture fit, i.e. does this person think like us, would they fit in with the culture of our team/business?
What’s important to know in all the interviews is the interviewer is not just assessing your technical knowledge but also your softer skills such as how you communicate, are you honest, are you inquisitive, how interested do you come across? Think of it as a 2-way conversation.
Remember we are hiring human beings and not robots, we want to see your personality. I’ve always been a firm believer that companies hire 50% for skill or experience and 50% on the likability factor. I’ve seen world-class engineers get rejected in interviews, simply because they didn’t have the likability factor and people don’t want to spend 8-9 hours with them every day.
When is a candidate ready to apply to jobs?
I would advise from ¾ of the way through the course, when they have picked up some skills, have a good understanding of what they will have covered by the end of the course and know the direction they want to go in.
What are the things you look for in a call?
Preparation - I’d expect the candidate to have studied the role & the tech stack, but just as importantly the company, the product & and its place in the market. I’d want the candidate to be prepared with questions for me related to this.
Enthusiasm - Most junior roles will require additional training and on-boarding over the next 6 months of employment. So showing that you are enthusiastic about what you have learned in your studies and are enthusiastic about learning more puts the employer at ease as you are much more likely to thrive in an environment where you have to learn a lot in a short period of time.
Social Skills - Candidates can often overly focus on the tech and the individual job, but almost all software developers work in teams. The employer will assess your social skills to make sure you can work in a collaborative way. Social skills don’t mean being extroverted or the life of the party, but you will have to show you are self-aware, can consider and discuss feedback, and communicate your ideas clearly. You will be doing this all the time in daily stand-ups, sprints and retrospectives.
Potential - It is the combination of solid 101 understanding of software development (at least some major parts of it) + personal interest in technology, problem-solving, eagerness to learn.
Systems thinking - Can the person apply a holistic approach to create solution alternatives? How does he iterate on his work/answers based on the input and results from outside actors (systems, people)?
Cultural fit - Can do attitude, inclusive team player etc.
What are the most common mistakes juniors make in interviews?
Junior engineers often think the interviewer is always looking for the correct answer, when actually how you articulate your thought process is just as important as getting the answer correct! Transparency and honesty are values that go a long way.
When I worked at Klarna, part of the process was writing code on a whiteboard, the interviewer wasn’t looking for the correct answer but instead wanted the candidates to talk through their thinking, remember, an interviewer isn’t a mind reader so think aloud, give them a chance to know what’s going on in your head! This actually opens up a two-way conversation and is similar to how you would work with your colleagues when solving problems together in the real world.
Losing the focus and the connection to the interviewer by going too much into the details (of the CV; of a certain question, etc).
Not doing your homework about educating yourself about the company. What business are they in? How big are they? What tech stack etc.
Only looking at the skill requirements in the job description and not reading the story in it. Most JDs give you a lot of clues about why such a position is available and what challenges and strengths the hiring team believes to have.
Junior candidates at interviews can often feel intimidated which may mean they don’t ask as many questions or converse well with the interviewer. Candidates must remember it’s an interview for the employer as well. Treat the interview like a 2 way conversation, try to relax and ‘chat’ and have plenty of your own questions, not just pre prepared questions, but also question anything the interviewer says that you are curious about. Maybe the interviewer mentioned their product and you want to know how many users it has for example.
I’d say don’t be afraid to ask clarifying questions —when you lack experience you can make the mistake of trying to appear like you know everything and it can be difficult to follow sometimes when speaking to a senior engineer or manager don’t be afraid to ask them to explain in more simple terms— this will enable you to get a better understanding and give a better response.
Junior’s interviews are mostly about identifying potential (i.e. what you will be able to do one day) rather than what you can deliver today and now. Critical thinking and showing the ability to take feedback and reflect on it can be extremely powerful.
Don’t give generic answers. Be yourself, get your personality out, and show what’s important to you, what you’re passionate about.
Do not watch too many videos on coding interview. Seriously…
What are the things a candidate should ask in a call?
How important are tech skills, really?
Employers will expect a basic level of tech skills based on the course you have done in the past. If you have additional personal projects you can show (particularly useful for frontend roles) or have contributed on GitHub, this is a useful indicator of technical capability.
[Rule of thumb with software is they would expect you to be able to solve a problem, programmatically, using code.]
But for early careers what’s just as important is your ability to learn and work as part of a team. A useful piece of extra knowledge would be to learn how agile works. What are the roles and responsibilities of an agile team? What is the purpose of a retrospective, a daily standup? what does an engineer mean by “picking up a ticket”? This knowledge will help you add value to a team much more quickly and it’s easy to learn
Problem-solving is a very important skill for an engineer so try to demonstrate examples of this in the interview. Think about a time when you have overcome a problem and be prepared to talk through the steps you went through to get to the solution. The bottom line is, given the context of how long you have been coding and how you developed your skills, the interviewer would try to assess the level of competency considering your situation.
What does a rejection mean?
Rejections don’t feel good and never will, but don’t read too much into it or take it personally, there are many reasons for rejection, there could be a limited number of roles available. What is important is, if you are rejected, follow up with a quick email, thanking them for their time and asking for any additional information from the interview that will help you improve. Also feel free to re-apply after 90+ days, if you feel you have improved you should definitely reconsider companies you find interesting.
How should a candidate do a follow-up?
It’s good to follow up with a thank you, even before you’ve heard from them, it helps reiterate your interest and enthusiasm. Also, ask for honest feedback so you can learn to improve even if you don’t get this role. A good way of doing this would be to email the interviewer direct, if you don’t know their email, try and connect with them on Linkedin.
How would a candidate know if a deal is fair?
This depends on your own situation but there are some online tools that will help you decide if a salary is competitive like Glassdoor or Payscale, Glassdoor, in particular, is useful as you can read employee reviews of the company.
It’s important to factor in the learning and development potential of the role as well as the starting salary and benefits and make sure they line up well with your career. In the long term, you will be paid more overall by gaining as much experience as possible in the early stages of your career.
If you are going to be joining a small company or team where you will learn a huge amount in a short time and you really really enjoyed working with them it may be worth more to you even with a smaller starting salary than joining a large organization that can pay you a little more in the first couple of years. So definitely do your research, but always factor in your own personal situation and goals.
How do you eliminate bias in the hiring process? What policies do you apply?
One thing we do at sennder is to assess code tests confidentially, the assessor has no indication on the candidate’s name, gender, nationality etc.
Strive for a diverse interviewing panel, this puts minority candidates at ease and helps minimise bias.
Introduce unconscious bias training to hiring managers and interviewers, which will involve explaining the benefits of a diverse workforce and also sessions showing them how to identify their natural bias and eliminate it.
How can we understand from a company and job profile if they are a safe place to work at for underrepresented groups?
Usually, you would be able to tell which companies are very committed to a diverse and inclusive workforce from a quick look at their LinkedIn page or company profile. Most companies will want to share their commitment to diversity so you should find blog posts or mission statements related to diversity, inclusion and belonging strategies.
Though some companies might be in their infancy with developing their D&I program, so I wouldn’t completely ignore companies who don’t yet obviously demonstrate their commitment to this topic. One of the most straight forward things to do would be to ask the question during an interview or recruiter call and judge for yourself by the reply.
What does equity mean in terms of hiring?
For me, equality in hiring basically means assessing people purely on their skill set and competencies, essentially “can they do the job well” rather than paying attention to their demographic (race, gender, age etc.).
How do you sustain equal representation in your teams?
Completely equal representation of different groups is something that few companies have mastered, and is more something that companies are working towards as an ideal - it’ll be a long process for most companies. What’s important is that teams have a good level of diversity (what good looks like can be quite an industry specific) and create an inclusive environment.
Things that we do from a recruitment perspective to facilitate diverse teams include: