Confessions from a Big Tech Hiring Manager: Tips for Software Engineering Interviews

The Pragmatic Engineer 20min 4 min #4
Confessions from a Big Tech Hiring Manager: Tips for Software Engineering Interviews
Watch on YouTube

Summary

  • Gergely Orosz, a former hiring manager at Skyscanner and Uber, shares insights and advice from the other side of the table for software engineers preparing for interviews at large tech companies like Google, Facebook, Uber, and Amazon. He draws on his own experience and conversations with other hiring managers to demystify the process, correct common misconceptions, and offer practical strategies for candidates.

The recruiter is on your side

  • Recruiters are incentivized to help you succeed because their performance is measured by how many candidates they hire. They are often your biggest advocate throughout the process.
  • You should treat recruiters as allies: ask them for preparation advice, insights on where candidates typically struggle, and details about the process. Some recruiters will even coach candidates before phone screens.
  • About 80% of the time, the recruiter will be the one fighting for you in debrief panels. The other 20%, it may be an interviewer or hiring manager who felt a strong connection.

Recruiter experience is not always indicative of the working experience

  • Recruitment and engineering are separate functions reporting into different chains (HR vs. CTO), so a recruiter’s responsiveness or demeanor does not necessarily reflect the company’s engineering culture.
  • What is more telling is how the interviewers themselves behave. If engineers come across as friendly, curious, and accommodating, that is a better signal of what working there will be like.
  • Companies that care about candidate experience often solicit feedback after the process, which is a positive sign about their culture.

Preparation advice for Big Tech interviews

  • There is no excuse not to prepare: the onsite loop at most big tech companies is fairly standardized, focusing on data structures, algorithms, and coding. Domain-specific questions may appear for web or mobile roles, but the core is generally the same.
  • Recommended resources:
    • Cracking the Coding Interview for foundational coverage.
    • Grokking Algorithms for a concise, visual overview of the main algorithms. This is sufficient for most interviews.
    • Avoid overly advanced “algorithm bible” textbooks heavy in math; the advanced content is rarely used on the job or in interviews.
    • For senior candidates, study system design. The Systems Design Interview: An Insider’s Guide is a strong starting point.
  • Practice coding in your chosen language, know its primitives and limitations, and get comfortable with whiteboarding (though this is slowly going out of style).
  • Start preparing early, even before you have an interview lined up. Building familiarity with hash maps, stacks, queues, sorting algorithms, and basic data structures over time reduces last-minute cramming.

Mindset before, during, and after the interview

  • Treat every interview as a learning opportunity rather than focusing on the outcome. Adopt an underdog mindset: you are there to learn from smart people, not to prove yourself.
  • This shift in mindset changes the dynamic of the interview. Instead of silently working toward a perfect solution, you engage the interviewer collaboratively: talking through your thinking, asking clarifying questions, and confirming assumptions.
  • Interviewers value communication and teamwork as much as coding ability. Someone who solves a problem while communicating well will generally be preferred over someone who silently produces a perfect answer.
  • After solving a problem, do not just stop. Ask about edge cases, how the code would be productionized, and what the interviewer’s team does for testing, deployment, and canary releases. This demonstrates curiosity and makes a strong impression.
  • Curiosity and fast learning are traits big tech companies actively screen for, since internal systems are unique and constantly changing.

Be fully present

  • During behavioral and hiring manager interviews, listen carefully to what is actually being asked. Many candidates default to rehearsed answers that do not match the question, which signals poor communication.
  • Clarify ambiguous terms. For example, if asked about mentoring, ask what the interviewer means by “mentoring” before answering. This shows you are engaged in a real conversation rather than reciting templates.
  • Refer back to things you or the interviewer said earlier in the conversation. Hiring managers notice and appreciate candidates who build on previous points.
  • Ask the hiring manager questions during the interview, not just at the end. For instance, after discussing testing practices at your current company, turn around and ask how their team handles testing. This is rare and highly valued.
  • Being fully present means worrying less about how you are perceived and more about having a genuine, curious conversation.

Interviews are a two-way street

  • You should be evaluating the company just as much as they are evaluating you. Prepare questions that matter to you: culture, diversity, work-life balance, learning budgets, conference attendance, knowledge sharing, etc.
  • Do not be afraid to ask hard questions. Candidates at Uber during its 2017 press scandals directly asked whether the culture was as bad as reported and why the interviewer stayed. These were considered fair and honest questions.
  • Use the interview to figure out whether you would actually want to accept an offer.

The interview experience can represent what a tough day at work is like

  • Interview days, especially onsite ones, are exhausting. While they do not represent every day at a big tech company, they do reflect the intensity of crunch periods: being on call, juggling multiple meetings, handling alerts, and shipping code under deadlines.
  • This is more commonly reported at companies like Uber and Amazon. Some people from Google and certain Amazon teams say the interview stress does not match their day-to-day, so experiences vary.
  • The general pattern is that big tech pays well and works on exciting problems, but comes with periodic spikes of high stress.

It is not time wasted: it is experience gained

  • Even failed interviews provide valuable experience. Gergely Orosz credits his eventual Uber offer to the skills and insights gained from many prior interviews at other companies.
  • Every interview is an opportunity to talk with smart people, learn how different companies operate, and refine your approach.
  • If you are not getting real interviews, mock interviews are an alternative, but they cost $150–300 per session and do not provide the same quality of real feedback.
Back to The Pragmatic Engineer