The Tech Interview Inside-Out

What this book will be about

Note that all of this is early stage, work-in-progress.

Tech interviews are hard. I’m a software engineer so I know this well, having gone through dozens of them throughout my career. I’ve also conducted hundreds of them, as an interviewer and a hiring manager at companies like Uber, Microsoft, Skype and Skyscanner.

This book will help you prepare for tech interviews better, navigate the process with more confidence and help you perform your best on the spot. It covers typical interview formats from the big tech companies - Google, Facebook, Amazon and others - through more nimble startups with good processes like Stripe, all the way to small companies with more adhoc interview processes. We’ll go through the process from the CV and recruiter screen all the way to the final interview rounds and the offer stage. The book covers differences in backend, frontend, mobile and fullstack interviews, as well as junior and senior/staff interviews, with tailored advice for each of them.

The focus of this book is the "non-algorithmic coding" parts of the tech interview. Many tech interview preparation books almost exclusively focus on the coding side of things, helping you practice how to pass the data structures and algorithms coding challenges: this is often seen as the hardest barrier. However, this is far from enough. If your CV doesn’t grab the recruiter’s attention or you bomb the recruiter conversation, you don’t even make it to a phone screen. If you come across as defensive or don’t take feedback, you probably won’t move on the onsite, even if you write good code. And on the onsite, I’ve seen many people solid at algorithmic coding fail on explaining their thinking, get stuck on systems design, bomb the hiring manager interview - or other reasons nothing to do with algorithmic coding.

The book also shares hands-on advice from some of the best tech recruiters I've worked with, who hired hundreds of developers at the likes of Facebook, Uber, unicorns and startups, and tips from interviewers and hiring managers from a variety of small large and small tech companies.

The book has an additional focus for the coronavirus situation, with advice on how to adapt to the changes in how companies recruit: like standing out from the larger than usual number of applicants when applying, conducting all-remote interview rounds with no face-to-face contact, handling rejections and negotiating offers in this environment.

Table of Contents

1. Introduction

2. The Tech Recruitment Process

  • The “Google-like” interview process
  • The "specific technology focus" interview process
  • The thoughtful, "developer friendly" interview process
  • The startup interview process
  • The adhoc interview process
  • Backend, mobile, web processes
  • Junior, senior and staff processes and the difference in focus

3. Preparing Upfront

  • Coding preparation
  • Systems Design and architecture preparation
  • Backend and distributed systems preparation
  • Web preparation
  • Mobile preparation

4. The Recruiter Screen

  • The CV screen
  • The recruiter call

5. The Technical Screen

  • Technical phone screen
  • Coding challenge
  • Takehome exercise

6. The Onsite

  • Coding: data structures & algorithms
  • Coding: real-world problem solving
  • Language and framework deep-dives and technical depth
  • Systems design and architecture
  • Hiring manager
  • Bar raiser

7. Closing

  • What happens behind the scenes?
  • The debrief
  • Offer approval and team allocation
  • Rejections: reasons you might get rejected
  • Rejections: using them to improve by getting feedback
  • The offer: negotiating the offer
  • Giving back: sharing your experience

Featured Pragmatic Engineer Jobs

  1. TicketSwap: Engineering Manager (Amsterdam)
  2. Linear: Senior Full-Stack Engineer (Remote, EU/US timezones)
  3. Fonoa: Senior Backend Engineer (Remote, EU timezones)
  4. FindHotel: Engineering Lead (Amsterdam)
Browse more senior engineer and engineering leadership roles, or add your own on The Pragmatic Engineer Job board.