If you’d like a view a video version of this article, check out the following:
In the summer of 2022, I left my job at VMware for Amazon Web Services. It was a bitter sweet journey; I loved my time at VMware and I loved working on some cutting edge things in the Kubernetes space. Even just a few months latter, the project I was working on is now completely defunct.
The process to getting into AWS was no easy one. But in the end, over the course of interviewing at many different companies, I landed with 4 offers. I decided to go with AWS since it was the most compelling offer and I get to work on some really cool technologies I’m excited about.
Here are my biggest pieces of advice for landing a job and the process I did to make it happen:
1. Study
I studied alot in preparation for my interviews. Ontop of my 40hr/week job at VMware, I was studying an additional 20-30 hours a week for about 4 weeks. This meant that for awhile, in the middle of July, all I was doing was working and studying.
But I was very focused on how I approached my interview prep and what things I wanted to tackle:
The 14 Principles to Ace Any Coding interview
This is my all-time favorite resource for ramping up on coding interviews. It’s just an article, but it’s a critical way to think about coding interviews and how to approach them. Since there are only 14 patterns, they are easy enough to remember but also deep enough to apply to a myriad of different questions.
If you can master each of these, you will be well on your way to acing your coding interview.
Grokking the Coding Interview
I used this course as a supplement to the 14 patterns. It’s actually created by the author of the 14 patterns article but has alot of interactive questions you can go through to get ramped up quickly. Unfortunately, it is quite expensive. But I found the cost to be worth it.
If you don’t want to pay for the course, you can find almost all the same questions on Leetcode. You just have to do some more digging and figure out some of the solutions on your own.
Blind 75
By this point, the blind 75 have become a notorious list of Leetcode questions that constantly come up in whiteboard style interviews. But I didn’t do all of them; I only did probably 20-30 or so. And I was very selective on which ones I wanted to tackle. You’ll notice that the are broken up into different categories. In general, if you can solve 1 or 2 linked list question, you can solve almost all of them. So I started skipping the ones that seemed to repeat or overlap.
This compounded with the 14 patterns since I was able to apply that knowledge alongside the various data structures and algorithms identified by the blind 75 as the most important.
Cracking the Coding Interview
I did open up Cracking the Coding Interview, what most would consider the bible of whiteboard style interviews. But I only refreshed myself on the most important parts, mostly the first few chapters. I had read this book in the past (I think back in 2018?), and I didn’t feel it was necessary to go through the whole thing. Again, I felt I was already getting alot of benefit from the 14 patterns and the blind 75. So, as I skimmed the book, I skipped portions I felt overlapped with material I’d already covered or was too obscure the be relevant to my study plan.
Elements of Programming Interviews in Python
I love Elements of Programming Interviews. It’s very deep, has alot of well thought out solutions, and is a great way to refresh your knowledge of a chosen language (in my case, Python).
But it’s a bit of a double edged sword; for my study plan, it was too much and I wanted to stay focused on the 14 patterns, the blind 75, and grokking the coding interview. So, instead, I used it as supplemental material, mostly to refresh myself on python3, it’s inner workings, and some tricks that are useful during interviews.
All in all, if I had to only focus on 2 of these, I’d say the 14 patterns to ace any coding interview and the Blind 75 are the most important. If you can master the patterns and have a good understanding of the Blind 75 (and the various categories), then you’ll be 95% of the way there.
2. Get a referral
Leverage your network! I hit up alot of people (just to see what’s out there) and it was massively successful. I’d say my favorite interviews all came from referrals. You also get the benefit of skipping the “get to know you” recruiter call. So reach out to people on LinkedIn, previous co-workers
3. Company values
Every company, no matter how big or small, has some values they live by. At Amazon, these are the leadership principles and you will be asked behavioral style questions based on these company values.
Do your research! Come prepared to the interview knowing the company values.
4. Take notes
I consistently took notes after each interview. This was a big win since I was doing 3-4 interviews per week. After each interview I would note who I talked to, what we talked about, any advice they gave me about the next round, etc.
5. Open source
Open source is a great way to show off your code, show off what you’ve done, and how you’ve contributed to the broader open source world.
6. Story telling
Story telling in interviews is huge. A good story conveys your impact, what you did, the result of your actions, and much much more.
I prefer 2 story telling methods:
STAR method
This stands for Situation. Task. Action. Result. And people at Amazon love this for interviews (and for good reason). It tells the person listen the kind of impact you had across a certain situation and what you did to remedy it through your actions.
Man in the hole method
The man in the hole story telling method is abit more nuanced. You start from a “good place” and describe how some hole is getting dug out from under you. This is essentially the “situation” from the STAR method.
But you keep digging and you keep digging. Until it seems that there is no way you could possibly get out of the hole.
Then, you describe the actions you took to get you (or your team / organization) out of that hole. It’s a very powerful method for describing high impact from things you did or delivered.
This advice you could really apply to any interview, but going back to basics and studying hard was a really great way to do well in my interviews and land a few different offers. Hope this was helpful! Until next time!!
If you found this blog post valuable, consider subscribing to future posts via RSS or buying me a coffee via GitHub sponsors.