DEV Community

Cover image for How I got a job at AWS
Winston Puckett
Winston Puckett Subscriber

Posted on

How I got a job at AWS

Background

I had been working at my first software job for 3.5 years and in that time I moved from junior to mid. It was obvious that if I were to keep growing my skills, I would need to move companies.

First thing, I changed my status on LinkedIn to "Open to Work." About three months later, an AWS recruiter reached out to me. Working at AWS was my dream job. She said I could interview for a couple of different teams and we decided I would interview with API Gateway.

I had two months to prepare.

Step 0: Study coding challenges

I read two books and would only recommend Cracking the Coding Interview. This is common advice, but it prepares you well for coding challenges. I read through it, doing at least one problem per chapter and then reviewed as many additional questions per chapter as I had time for.

Step 1: Go to Amazon's interviewing workshop (if available)

AWS provides a number of resources for candidates. They want people to succeed, If I had not attended the hour workshop offered to me by my recruiter, I wouldn't have gotten the job. Most of the advice in this article just echoes their recommendations.

Step 2: Find two stories for each LP

Amazon holds tightly to the Leadership Principles. These are a set of short phrases used to guide decision making.

Choose two stories per Leadership Principle. Each story should:

  • Follow the STAR technique.
  • Be short (3-5 minutes max) to explain.
  • Be tied to a professional experience. If you're fresh out of college, tie it to a collegiate experience or side project.

Write enough of the story down that you'll be able to look at your notes in the interview and remember the story.

This took me around 10 hours. At the time, there were 12 Leadership Principles, which meant 24 stories. I tried my best and came up with around 20 stories with 4 overlapping between principles.

Note: During the interview, I pivoted which stories I told according to the questions asked. Don't be rigid in the interview, but find as many stories as you can and be ready to share any of them.

Step 3: Find useful design patterns and be able to apply them.

The book "Design Patterns" by Erich Gamma is a great resource for this. Don't memorize the entire book (unless you'd like to). Instead, pick 4 diverse patterns that you could see helping you solve problems.

I picked:

  • Abstract Factory
  • Builder
  • Singleton
  • Decorator
  • Proxy
  • Observer
  • Iterator

I only used one of these as part of the software design portion of the interview. However, I referenced more in passing as the interviews progressed.

Step 4: Look into trees

This is in Cracking the Coding Interview. Please look into it. Even if it's just BFS/DFS.

Step 5: Know O(n) notation

Some people already do but just in case, it's really important. Not just for interviews.

Step 6: Have at least 4 thoughtful questions to ask

Asking questions that show you know what you would like out of a job and want to work with the company can be very helpful. Ask software specific things you care about. One example I like is: "What is your oncall schedule like?" or "What does releasing software look like on your team?"

Figure out what you care about in a job and write down these questions beforehand.

Essential Step: Take too many notes

The picture for this post above is my setup for my interview. This was something that was mentioned in the class - that notes are allowed. Always be up front about your notes. If you're going to reference them and you happen to be remote, mention casually, "hey, do you mind if I reference my notes on this?" Or "let me just scan my notes real quick for a story that matches that."

To be honest, I memorized everything except for the 20 LP stories. But those 20 stories were incredibly useful to have written down and I'm glad I took the time to write more down because it stuck in my brain better.

The interview format

This may have changed since I interviewed, but here are the rounds I had to get though:

  1. Phone screening with a recruiter
  2. Two short, at-home leetcode style tests
  3. Connection with the recruiter for interview timing and training opportunities
  4. 4, hour long in-person interviews: system design, software design (patterns), 2 coding exercises. In each, I was asked a behavioral question

Useful Links

How long did this take?

I didn't have any leetcode experience before I started preparing. My first job didn't contain a coding challenge. I had read the Design Patterns book, but I didn't have a list memorized. This was my first time applying for a FAANG roll.

This was my dream job, so I spent multiple hours most nights studying for it. My guess is that I spent 100 hours preparing for the interviews.

How much of this is luck?

There's always luck involved with interviewing. In my current role at LTK, I was rejected the first time and accepted the second.

What would you have done differently?

I didn't handle the offer stage very well. They ended up offering me 30k more than I asked for because I didn't trust the research I had done on what Amazon typically pays. If I had believed things, I may have been able to negotiate for 10k more in my salary.

When you join, you get to choose which OS you use. I wish I would have asked what OS the people on my team use. There is also an unlisted third option of getting a Linux laptop. I switched to that after 8 months and had a wonderful experience.

What happened after you got the job?

I joined AWS working on API Gateway for 1.5 years. In that time, I was put on an S-Team project where I led various parts of the initiative to great success. I'm being intentionally vague as I'm not sure how much of that I can share.

Then, AWS required everyone to come back to the office. I was asked to choose a location or (by default) move to Colorado. They did it in the best way possible - giving me a year to decide. I'm very grateful for the time frame.

I decided to move on, but working at AWS was one of my favorite professional experiences. The people I worked with were some of the most practiced engineers I've met and when my son grows up enough to where me being at home is not as impactful, I would consider rejoining.


If you want to be an encouraging voice and/or read these posts before they're public, buy me a coffee and let's start a conversation.

Buy Me a Coffee at ko-fi.com

Top comments (37)

Collapse
 
whimsicalbison profile image
Jack

Thanks for writing this article; I really enjoyed reading it. While I appreciate the insights, I’m not sure I would want to work at AWS. I generally prefer smaller companies where I can have a bigger impact, even if that comes with more stress. I’ve always heard about the challenging interview processes at companies like Google, Facebook, and Netflix, but I didn’t realize AWS had a similar approach—although it makes sense. It’s surprising that they offer interviewing workshops to help candidates prepare. The amount of time required for their interview process might also be a deterrent for me, but I’m glad to hear you had a positive experience overall!

Collapse
 
winstonpuckett profile image
Winston Puckett

I love that you're thinking about your own path and what you want out of a job. Knowing that is so vital for a healthy career

Collapse
 
eric_vanwieren_813ca70462 profile image
Eric VanWieren

It is interesting reading this. Having worked at AWS/Amazon, there is some good stuff in here, but there is a bit more I would add.

  1. Don't make stories up. A good interviewer will ask questions and find out when/if you are full of crap. This may sound bad, but you have to be honest. Now, you can spin a story any which way, but make sure you actually worked on what you say you worked on.

  2. Earns Trust. If you are caught lying or thought to be lying you will get axed. I have seen a full interview board turn down someone because they were caught lying. Be honest.

  3. The technical aspect is only a facet of the interview, for technical roles. Be prepared for all types of questions. A lot of people know that everyone is just grinding leet code to prep. This means that interviewers are getting more creative in their questions. Asking open ended problems that can be solved a number of ways.

And, if you get a question about the 15/16 leadership principals, just run.

Collapse
 
winstonpuckett profile image
Winston Puckett

Absolutely to all three of these.

Haha, while I agree that the latter two don't fit with the first 14 principles, I think they are attempting to address real problems Amazon was facing. I hope there's a good resolution there.

Collapse
 
visheshdvivedi profile image
Vishesh Dvivedi

Thanks for such a detailed and well informing article. You really gave very good information on what it takes to get into a FAANG company. I personally wish to get into a FAANG company and I will use this as a roadmap. Thanks for that

Collapse
 
winstonpuckett profile image
Winston Puckett

Glad this could help! Good luck on your journey!

Collapse
 
leoantony72 profile image
Leo Antony

😮

Collapse
 
winstonpuckett profile image
Winston Puckett

Wait a minute, I recognize you from Twitter! Hello again!

Collapse
 
leoantony72 profile image
Leo Antony

Hello, didn't expected that coming 😲

Collapse
 
lucaschitolina profile image
Lucas Chitolina

So practical, thanks for sharing with us!

Collapse
 
oviyan007 profile image
Oviyan S

Worth reading can you share some tips to crack job as fresher?

Collapse
 
winstonpuckett profile image
Winston Puckett

Sure! Actually there's another comment on this post which summarizes some good extra tips: dev.to/eric_vanwieren_813ca70462/c...

Also, look up Neetcode on YouTube if you haven't already. Seeing them break down problems is incredibly helpful.

Collapse
 
agnel profile image
Agnel Waghela

Neetcode you say? I haven't checked that out. Thanks for sharing.

Collapse
 
jyoti_thakur_d48b307e18f1 profile image
jyoti thakur

Worth reading and Thank you!

Please keep posting such articles.

Collapse
 
winstonpuckett profile image
Winston Puckett

Will do! I'm open to ideas if there's anything specific you'd like to hear about

Collapse
 
agnel profile image
Agnel Waghela

How about a roadmap even more detailed ? :)

Collapse
 
antoniodev profile image
Antonio

Very helpful article, thanks.

Although I work in a very small operation and love it, I would like to experience life at one of the big ones, even if only for a short time.

Collapse
 
winstonpuckett profile image
Winston Puckett

I think it's worth it to try and make the shift for a while. I learned a lot there that I couldn't have anywhere else (although I guess that's the case with a lot of jobs 😆)

I will say, if it was me, I'd wait till I was ready to move on from my current role before looking for something at a faang company. For a number of reasons, but the biggest being that job satisfaction is fairly difficult to find. It's awesome you like your current role!

Collapse
 
rcls profile image
OssiDev • Edited

Hey, nice post! I thought I recognized that avatar from Slack and I was right.

Collapse
 
winstonpuckett profile image
Winston Puckett

Oh hey! How crazy to bump into you here!

Collapse
 
barnito profile image
Bruno

Amazing proyect, nice work!!

Collapse
 
cosma203 profile image
cosma203

Thank you so much for sharing your experience! Btw nice collection of dice you have there. ♥️

Collapse
 
winstonpuckett profile image
Winston Puckett

♥️ it's such a a great desk toy. I was running a ttrpg where the players where an analogy for the subconscious and repressed thought at the time

Collapse
 
shricodev profile image
Shrijal Acharya

Keep shining, buddy. ✨

Collapse
 
getsetgopi profile image
GP

Hope Amazon retains you for long!

Collapse
 
winstonpuckett profile image
Winston Puckett

Thanks! They keep offering me positions after I chose to leave, but it's more important that I'm home with my baby right now.

I look forward to when I can say yes to coming back though

Collapse
 
canro91 profile image
Cesar Aguirre

So true about step #4. Trees got me off guard the last time I tried at a FAANG

Collapse
 
winstonpuckett profile image
Winston Puckett

Right!? It's so interesting how integral they are to some faang work. I don't know of many places which would prefer to work with a tree over other data structures.

Collapse
 
jedivim profile image
Leonam Silva

great tips man