Skip to content
Person hiking wearing a backpack

Preface

Welcome to my interview guide!

My name is Nick and I'm a senior software engineer at Microsoft. I have participated in around 100 software engineering interviews on both sides of the table—as a candidate and an interviewer. I have passed interviews at both big tech/FAANG companies as well as smaller startups.

This guide is my attempt to codify my opinionated interview process for the benefit of the software development community.

THESE ARE MY OWN VIEWS

Everything in this guide represents my own views and not the views of any of my current or past employers.

Supporting this guide

This resouce is, and will always be, free of charge. If you'd like to express your support for this work, I would appreciate if you starred the repository on Github:

Target audience

This guide is directed at both new and experienced software engineering candidates. It focuses on individual contributor (IC) engineering rather than engineering management. If you are interviewing for engineering management positions, there may be still be some beneficial sections of this guide; however, much of it may not be applicable.

Goals and non-goals

There are a number of incredible existing resources that I believe tend to be too comprehensive to be directly actionable. The niche I'm trying to fill is providing my specific, opinionated process for prepping for interviews. My way of doing things won't work for everyone, and that's totally okay! But if you like my process, I'm hoping this guide is very actionable.

Goals:

  • Be opinionated and actionable
  • Be easy to read
  • Focus on methodology

Non-goals:

  • List every resource under the sun
  • Contain the depth and breadth of information that exists in other excellent resources
  • Address adjacent topics like how to get an interview or how to negotiate salary

How to read this guide

This guide isn't too long, so my recommendation is to read it front-to-back at first. Since it's intentionally opinionated, you may find that my approach won't work for you, and that's totally okay.

There are a lot of concepts that I believe will just "stick" once you read them the first time through. During your prep, I recommend you check back to relevant sections as appropriate to refresh your memory.

🚧 Under construction!

This guide will always be a work in progress. Please give me some grace if you feel like I haven't covered a topic adequately or if you feel like my advice is wrong. I have a page for feedback and would appreciate any feedback you have!