I quit Amazon after I cracked the code for promotions. It took me 14 years to become a principal engineer — here’s how.
Steve Huynh says his 8-year journey from senior to principal engineer was a painful time. He almost lost hope, until he made one change.
A friend used his connection to land me an interview for a contract role at Amazon after I expressed interest in transitioning from creative writing to programming. I got the job in 2006 and made it my mission to create such an undeniable presence at the company that my transition into full-time employment would be guaranteed. And I did just that.
After multiple swift promotions that led me to become a senior software engineer by 2012, I found myself in a career rut. It took me eight painful years to finally get promoted. Along the way, I struggled and even considered quitting.
In 2020, my fiercely systematic approach to getting a promotion worked and I achieved my goal of becoming a principal engineer. In my 18 years at Amazon, I successfully went from making $35 an hour as a contractor to making $270,000 as a principal engineer. Then, I finally quit.
I graduated with a degree in creative writing and transitioned into tech
In my last semester as a creative writing undergrad at the University of Washington, I asked my writing workshop professor what the job landscape for writers looked like. He told me there’s no job called writer, there’s only a job called waiter. I took his comment to heart and pivoted my job search to programming.
Both of my parents are engineers and I’d been programming since I was little, plus I double minored in math and applied math, so I felt like I was three-quarters of the way to being a software engineer. I ended up falling in love with it.
A friend helped me land a contract role at Amazon
Shortly after I graduated, I was grabbing drinks with a buddy from high school who was working at Amazon. He knew of a job opening at Amazon for a support engineer role and guaranteed me he could snag me an interview. The job was a contract role, and my responsibility would be to identify and resolve computer issues. It felt software engineer-adjacent, so I took him up on the opportunity and got the job at $35 per hour.
I quickly got into the rhythm of the day-to-day job and didn’t find my responsibilities challenging. For half the day I found myself with no other work to complete, so I utilized my free time to learn new programming skills and create a presence at the company.
I went above and beyond at Amazon to get promoted from contract to full-time
Amazon is a pretty transparent place so I took advantage of its internal Wikipedia to download as much information as possible about its coding systems. I let my curiosity drive me down a rabbit hole and soaked up as much information from internal sources as I could.
I also made a concerted effort to insert myself into the software development department and create an undeniable presence at the company. For example, if a customer came to me with a website issue due to a software bug, my job as a support person would be to file a bug report. Instead, I’d file the bug report and immediately locate the impacted piece of code and file a fix for it. Software engineers had to review my changes, but I forged a trusting relationship with them by effectively contributing to their jobs. I slowly networked my way into monthly software engineer meetings and steadily expanded my frontier of exposure within the group.
After 5 years my salary grew by over $25,000
In late 2007, I felt ready for a new role and decided to interview for a lateral move within the company. I was only supposed to reach out to one department for job opportunities at a time, but I contacted and secured interviews with three departments.
To prepare for the interviews, I pooled colleagues for questions they remembered being asked during their interviews and created a comprehensive database. Then I asked my new software engineer friends to give me mock interviews. I ended up getting job offers from all three departments I interviewed for.
I accepted a job in payments as a software development engineer for $75,000 where my role was to perform high-scale backend transaction processing.
The job was boring from the outside, but we were playing with some pretty big numbers which kept it interesting. I stayed in that role for nearly five years before being promoted to senior development engineer in 2012 with a base salary of $107,000.
I sacrificed my chances of promotion to work on a product I loved
Four years after I became a senior engineer, I felt ready to be promoted to principal, but I was denied. Luckily, I’d just gotten moved to a team developing Amazon Tickets, a Ticketmaster alternative, and I loved it. The project shifted me out of a promotion mindset. I was so enraptured with the project.
But in March 2018, two years into development, Amazon Tickets was unexpectedly shuttered. At that point, I was so done. I started feeling disengaged at work and seriously considered quitting. It was the lowest of lows for me.
I quickly got reorged to the Prime Video live events team and started reporting to a new manager. I had the opportunity to lead the live services engineering teams on broadcasts for events like Thursday Night Football. I found it hugely exciting. Plus, I hit it off right away with my new manager and we became a powerhouse duo. He even helped me write and submit my promotion document, though I got denied that first time around.
In 2019, I cracked the code to my Amazon promotion then I quit
Amazon has an incredibly granular list of criteria that need to be met before you can be considered for promotion, so I worked with my manager to identify the gaps in my performance, and I got feedback that helped me get systematic about my approach moving forward.
I created a project for each gap that, if completed, could serve as evidence of my ability. I worked backward to create a strict timeline to finish my projects between July 2019 and November 2019, when the promotion document was due.
I was denied again, but my list of missing criteria had shrunk significantly. I created projects for those final skills and submitted another promotion document a few months later and was approved to become a principal engineer at a salary of $160,000. But, just as I was promoted, the pandemic shut down all our sports leagues, and for the first time in a while, I had time.
I started watching a lot of YouTube videos and decided to use my extra time to throw my hat in the ring and start my own tech channel.
I already owned a lot of photography equipment so it wasn’t too much of a stretch for me. By 2024, my salary at Amazon had grown to $270,000, but I was making nearly as much from YouTube. I realized I’d regret not taking a chance on myself and going all in on YouTube. In March of this year, I officially quit Amazon.
I’m happy with my decision but I miss writing code
Creating content is incredibly satisfying, but I’d be lying if I said I didn’t miss working on projects that affected hundreds of millions of people. I miss writing code. I miss being a stone’s throw away from brilliant people. Sometimes, I even miss the corporate jargon.
I spent 50% of my waking life at Amazon and feel like it’ll always be a part of me. Maybe one day I’ll go back, but for now, I’m happy with the path I’ve chosen.