How To Conduct Interviews to Hire Software Developers Like Google, Microsoft and Amazon Do

Carlos A. Vázquez
12 min readNov 9, 2021

Hiring software developers or any tech professional is one of the biggest challenges companies are facing nowadays. Tech talent is one of the most demanded roles, and it’s becoming increasingly hard for recruiters to screen them quickly and adequately. The avalanche of new roles and technologies mean recruiters must continuously be learning new ways to both technically screen them and interview them.

Employers are now offering high base salaries of more than $100,000 plus benefits, perks, flexible schedules, and remote work opportunities to woo talented developers. Making sure you’re asking the right questions during technical interviews can mean the difference between hiring the best software developer or the worst — and having to deal with the fallout.

So, how can your company increase the probability of hiring qualified tech talent in this competitive hiring market? By using our interview cheat sheet. We created this cheat sheet based techniques and processes that Google, Amazon, and Microsoft use to interview and hire the best of the best.

The Experience

No, I’m not referring to your candidate’s job experience. Rather about the experience you offer your candidates during the hiring process. Candidates place a premium on the hiring process they have with a company, and it can change their wholesome opinion of the company for the better or worse. Having a great experience will transform your candidates into your company’s strongest ambassadors, even if they don’t end up working with you.

Google has an endless list of candidates applying to their positions who would be more than happy to go through their interview process and not be hired. It’s like waiting in line to ride a roller coaster in the most popular theme park in the country.

To find the right candidate, a company goes through numerous interviews and assessments to find the right person for the job. There are processes where the number of interviews can run from 5 to 6 different rounds.

With most companies, candidates are in the dark when it comes to the hiring process. They have no idea what to expect, when to expect it, and why it’s being done. Take a page from Google and take the time to explain who will be involved, the things that will be covered, and the outcomes expected. It will ensure they are prepared and positive throughout the experience.

How do I create an excellent candidate experience?

Step One — The Application

Your job description is your presentation card. It must be impeccable and understandable. Many candidates categorize companies as they read job descriptions, and if they get confused from the beginning, you won’t be getting their application.

The following are some points you want to be sure to address in your job description:

  • Add skills and experience for the job. I’m talking about specific languages and technologies they’ll be using.
  • Be specific about projects they’ll be working on or managing. Job seekers should be able to see the job title, category, and location.
  • Include bulleted lists of job responsibilities, minimum qualifications, and preferred qualifications.
  • If it’s a leadership role, tell them how big is the team.
  • If you’re ok hiring recent university graduates or with limited work experience, let them know they are suitable to apply.
  • Each job listing should include details about the compensation and benefits offered.
  • Keep it as concise as possible!

Google gets a million applications a year just by following this formula!

Step Two — The Interview

Google uses a two-part interview process.

The first round is a phone interview (a Google Hangout, of course) that lasts between 30 and 60 minutes.

The second part is an in-person interview. Only successful candidates will make it to the second stage of the interview process.

  • For technical positions, the interview may include a shared Google Doc where the applicant will write around 20–30 lines of code or algorithms in real-time. This system allows the interviewer to ask technical questions that require a demonstration of skills.
  • For non-technical positions, the phone/Hangout discussion will last between 30 and 45 minutes. The candidate should prepare for behavioral, hypothetical, or case-based questions that cover their role-related knowledge.

Step Three — The Review

After the interviews conclude, the specific team where the candidate will be working on reviews the candidate’s interview feedback, scores, resume, references, and any work samples submitted. These hiring committees help to make sure all candidates get fair consideration.

  • While this happens, candidates are usually left in the dark for a few days or even weeks. Here’s a great place for you to make a difference — make sure they know you are still considering them or not.

Step Four — The Testing Ends

Once you’ve extended an offer and hired a new employee, the hiring process should stop! This might sound obvious, but in most organizations, once a new employee joins, they still have to prove themselves to stay there. At Google, they trust their employees because they’ve all gone through the same hiring process and know they can trust each other and new team members from day one. Do the same!

Process Structure

We’re all used to having a map to our destination, and the hiring process shouldn’t be an exception. Your candidates, especially professionals in technology, are familiar with the procedures that have logical paths and expect this to be no different.

Give them a road map from the get-go and be clear about your expectations in every step of the way — leave behind “the surprise factor.” Microsoft does an excellent job of providing a clear picture. They have 4 to 6 different interview rounds that a candidate knows all about from the beginning. What’s more, they’ll contact the candidate a few days before the next round to let them know how the interview will look like and what they’ll be doing or the problems they’ll be solving.

Your company probably reviews dozens of candidates for each job opening. It can become hard to know how one developer stacks up against another without a defined and consistent structure, one with the same questions, assessments, and evaluating criteria. It may sound simple, but some companies fail to do this. Implementing a consistent interview structure will help you quickly compare the strengths and weaknesses of candidates based on criteria that are important to your company. Thus ensuring your hiring team can make a well-informed decision.

How can you get started with implementing a clear process?

The length and complexity of your hiring process will, of course, depend on your hiring staff capabilities. Amazon, for example, has at least six rounds in their hiring process for software developers (Written Round, Online Coding Round, 2 Technical Rounds, Hiring Manager Round, HR Round), each round conducted by a different person with a different focus.

We recommend this simple approach to implement a clear hiring process. One that anyone can follow when hiring software developers:

Round 1 — Respond to your candidate’s first approach.

If you get an email, a call, notification, or whichever way you get applications, respond to them as soon as possible. Don’t leave anyone without their due response, even if you are not interested. Let them know you reviewed their CV, and it will or will proceed.

Recommendations:

  • Implement a response system — Automated if you can!
  • Be organic
  • Demonstrate appreciation for their time and effort
  • If you are interested in their profile, give them a timeframe for next reach out and a list of next steps
  • Set a date for the next round and tell them what to expect

Round 2 — Humanize the process with a call.

A human touch with your candidate will soften the field for a better and more comfortable experience. Have a friendly member of your hiring team give them a call.

At CodersLink, we take this human approach as an essential part of our process, and it works wonderfully, not only do candidates feel they are treated like people and not just assets, but they grow a sense of belonging, giving us not only a pool of talent but a community of talented tech professionals.

Recommendations:

  • Use this call to get to know them and build rapport
  • Ask simple questions like: why are you interested in this position?
  • If you need to ask any screening questions, ask the ones that will either qualify or disqualify them from advancing to the next step. For example, if you’ll interview the candidates in person, ask them if they are willing to travel to your offices.
  • Take a moment to explain the process again and resolve any questions (do this as many times in the process as needed)
  • Set a date for the next round and tell them what to expect and how to prepare.

Round 3 — Assessment and Test.

You can split this round in two or even three depending on the complexity of the role you are hiring. Don’t try to test all candidate skills at once, or it will get messy.

Amazon calls this round the “Assessment,” which majorly consists of two sections, namely an aptitude and logical test and a technical test. The technical test contains mainly questions specific to coding languages, operating systems, data structures, inheritance, and functions.

These tests generally come in multiple-choice format with a given time frame of about 30 minutes.

Recommendations:

  • Prepare the questionnaire to test candidates “must have knowledge.”
  • Give them a guide to preparing topics they’ll address in the test
  • Share tips for the test — we all appreciate a little help!
  • Notify the candidate of their online assessment results. If they pass, schedule the next online interview, and tell them what to expect.

Round 4 — Online Technical Interviews.

An online interview is an excellent opportunity to meet your candidate in a live video interview, and many organizations use this as a moment to get leaders and team members involved. This round may also be split into two or more to keep the meeting short and focused on topics like live coding tests and questions to screen any experience mentioned in their CV.

Recommendations:

  • Prepare all possible questions in advance with your team to avoid meaningless or confusing questions
  • Apply real-life problems rather than hypothetical ones
  • Make this one short and to the point, no longer than 45 min
  • After evaluating, notify the candidate about their results. If they pass, schedule the next interview and tell them what to expect.

Note: If you will do an on-site interview, make all the arrangements necessary for your candidate to get there and give them a checklist for what they need to bring. Check Amazon’s In-Person interview preparation guide here.

Round 5 — HR screening.

Generally, the hiring process ends here, and this round deals less with the technical questions but more with the HR questions like:

  • Where do you see yourself in the next five years, fifteen years and twenty years?
  • Questions on family background.
  • Strengths and weaknesses.
  • Questions about the candidate’s professional and educational experience.

Bonus: Round 6 — Feedback

We’ll add this additional round for the candidates that didn’t get the job!

At CodersLink, we believe that sharing knowledge allows people to strengthen their path for success. Giving appropriate feedback to unsuccessful candidates is really challenging but extremely important for your brand. As reported by LinkedIn’s Talent Trends report, 94% of talent wants to receive interview feedback. Keeping that in mind, here are a few insights on how to give appropriate feedback to unsuccessful job candidates.

Recommendations:

  • Give feedback to candidates that have advanced to a certain point in your process; after an on-site interview or an online technical interview.
  • Use the “bad news sandwich” rule, opening with a positive, followed by a negative, and finishing with a positive, highlighting their active skills, experience, and qualifications.
  • Don’t be afraid to point out a couple of areas they could improve on, give them some advice on how they can do it.
  • Be prompt to give them the bad news, or they’ll create false expectations, but under no circumstances should you email a candidate with the negative news, this is unprofessional, give them a call to notify them in person.
  • Learn from them. Ask how the process they just went through could improve. Maybe your candidate interview process wasn’t all clear.

You’ll find out that many candidates will appreciate you taking the time out of your busy work schedule to offer valuable feedback.

Transparency and Communication

Do you like to be left you in the dark? Easy answer. No one does.

Openness and transparency are crucial elements for a successful interview process.

It’s not only essential to be clear about the process, but also about the candidate’s application status. If they aren’t the right fit for the job, they need to know. How you dismiss candidates as your interview process flows speaks loudly about your company, and it’s culture. Inadequate rejection standards can seriously damage your brand, and it’s reputation.

At the very least, let the candidates know they will no longer be part of the process. At best, let them know what they did well and how they can improve next time around. Directness and honesty are always appreciated. You never know when you may find yourself reaching out to the same candidate in the future for a different position to find out that they took your advice and improved.

Prep, your candidate for success

Give your candidates enough information and tools to prepare for your technical and non-technical interviews. Think of it this way; you tell your employees in advance what they’ll be doing at work every month or quarter and expect a particular outcome. Why should this be any different?

Most interviews have a time component attached to them. Meaning they not only measure the response to a problem but how quickly a candidate can come up with a solution to it. Now, this can very well be part of your process. After all, you’re looking for the best talent available out there. However, you must know that not everyone does their best work in high-pressure situations. So, giving your candidates no time and no data to work on can put them on the road to total failure.

Microsoft’s Partner Director of Software Engineering John Montgomery, mentions that sharing interview questions with candidates before their interview has improved their hiring. They share the same information that the interviewer has and allow the candidate to prepare for it through research or by arriving with prepared questions to ask during the interview.

What questions should you ask in a software engineer’s interview?

Amazon, Google, and Microsoft, like many companies out there, have unique sets of interview questions for every position. You should too. Generic interviews are suitable for the first round, but you must tailor follow-on interviews to the specific position. It will allow you to probe for particular skills and abilities the job needs.

Employers are often at a loss when it comes to technical interview questions, and with so many new technologies, I don’t blame them. Some might even go as far as to search for questions and challenges that big tech companies ask their candidates, but this is not a solution. It won’t help you find a qualified candidate that can solve YOUR problems.

The good news is; It’s not rocket science. Orient your technical questions to your business’ products and services.

Here’s how Google does it:

“What is your favorite Google product? What would you change about it?”

This question will determine how knowledgeable a candidate is with the products and services you’re selling. It’s also a way for you to see how creative or innovative a candidate is when they suggest changes to an existing product or service.

Let’s look at another example. You may be looking for a specialized software engineer like a Mobile Developer with experience in both iOS and Android to continue building your existing application. Please take one of the problems your team is currently facing and try and solve it during the interview process. Don’t leave all the work to the interviewee; make it interactive. Actively participate in the process by bouncing ideas with them, providing context about solutions you’ve already tried, and by helping them think through the solutions they propose. It may sound cliche, but the best way to see how someone works is to work with them.

Instead of asking too many questions and expecting right or wrong answers, give your candidates the chance to show you their thought process with live coding tests. They might not figure out how to solve the problem, but their reasoning and thought process will give you a glimpse of how they could fit in your team. As the late famed tennis player Arthur Ashe once said, “Success is a journey, not a destination. The doing is often more important than the outcome.”

Putting it all together

Ultimately, the goal of an interview process is to bring great people together, working for the same purposes. And it all starts with the right interview process.

--

--