Amazon shouldn’t have hired me. Here’s how I became an SDE2.

Credit: A Quiet Place

How I sneaked in to Amazon

I admire every person who has passed a software engineer interview loop at a FAANG company. It’s a full-day set of interviews where the candidate gets grilled on technical and behavioral questions from 5 different interviewers.

My limited skills

SDE1’s are expected to know advanced data structures like heaps, graphs and tries.

A rough start

My code reviews were a disaster. I would submit a code review (e.g., pull request), and receive 50+ comments on it.

An impostor exposed

I improved, slowly. I was eventually hitting deadlines and consistently delivering to production.

Making it, not faking it

2 and a half years in, I was promoted to SDE2. The SDE2 is capable of independently developing and maintaining a large scale software system with little guidance.

Me

What I Did

I empathically listened to feedback with a radically open mind.

New FAANG hires often have a big ego.

I asked stupid questions.

New FAANG hires often avoid asking questions. They fear they’ll be judged. It’s an element of impostor syndrome that contrasts nonsensically with the ego.

I sought the relentless reviewer.

Early on, it’s important to get a variety of peers to review your code and designs. Every reviewer has their own preferences, nitpicks, and pet peeves.

I leveraged existing examples to do things the right way.

Junior engineers often reinvent the wheel.

I focused on correctness and intent.

I avoided sunk cost fallacy. It didn’t matter if I spent 4 hours doing something the wrong way. I knew that I needed to scratch that work and do it the right way.

I threw myself into the fire.

You will never be “ready” to work on big features, execute production deployments, perform interviews, or go on call.

I took initiative on the mundane.

I noticed opportunities to improve my team’s operational excellence, processes, and developer experience. I repeatedly volunteered to take on mundane tasks.

I became a coding Professional.

Coding is a form of logic-based creativity. Every task, every new feature was a blank canvas opportunity for me to demonstrate the mastery of my craft and produce art.

I was transparent about my promotional desires.

A FAANG company is not going to give you a promotion. You need to ask for it — repeatedly. If you don’t, the promotion will keep getting delayed for months on end.

I prioritized promotional work.

I realized I couldn’t only work on things that would get me promoted. If everyone did this, it would undoubtedly lead to a toxic team environment.

I persistently documented promotional evidence.

It’s critical to learn how to sell your work through quantitative and qualitative metrics.

I understood what was under my control.

I realized that sometimes, there are no big features to work on. Sometimes, projects get cancelled. Reorganizations force manager changes. Sometimes, the team has a perfect CI/CD process, and there’s just nothing to improve.

Reflecting Questions

Is the “Leetcode culture” of the interview process flawed?

I was able to achieve success at Amazon, despite my inability to complete Leetcode problems when I first started.

Is it easier to be hired as an SDE1 through the internship program?

Not necessarily.

Did Amazon make a mistake by hiring me?

My answer to this was yes, until recently. It’s true that I shouldn’t have been hired, based on my technical skill set at the time.

Like this story? Follow me on Twitter for more! Here’s an example of what to expect:

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Curtis Einsmann

Curtis Einsmann

Software engineer; solopreneur. Writing to help developers level up. All stories free. Follow me on Twitter for more: https://twitter.com/curtiseinsmann