Skip to content

Instantly share code, notes, and snippets.

@bricker
Last active April 23, 2024 11:14
Show Gist options
  • Save bricker/cb811b3b86d767124801 to your computer and use it in GitHub Desktop.
Save bricker/cb811b3b86d767124801 to your computer and use it in GitHub Desktop.
An Amazon Programmer's Perspective (http://pastebin.com/BjD84BQ3)

Originally posted at http://pastebin.com/BjD84BQ3

Trigger warning: mention of suicidal ideation

tl;dr: I burned out as a developer at Amazon at the end of my second year. I’ve since found a healthy and sustainable work-life balance and enjoy work again. I write this to A) raise awareness, especially for new-hires and their families, and B) help give hope and advice to people going through the same at Amazon or other companies.

Hello, world

There’s been no shortage of anecdotes, opinions, and rebuttals regarding Amazon’s corporate culture as of late. I write this not to capitalize on the latest news-feed fad, but to share what I had already written and promptly deleted. I didn’t think anyone would want to hear my story, but it’s apparent people are going through a similar experience and don’t have a voice.

I’m a Software Development Engineer II at Amazon; SDE II basically means a software developer with at least 2–3 years of industry experience. I started at Amazon as an SDE I.

To work at one of the Big 5 is no uncommon dream for most devs, but it was one that I shared. After passing a timed online coding quiz, I was flown to Seattle for an interview. Within a week of flying back, I got a call to congratulate me as well as discuss the usual (compensation, and benefits), as well as the exceptional (moving bonus, signing bonus, and vesting stock options). Remember those “exceptional” bits, as they matter later.

For the first few months, things were fairly standard: typical corporate mottos (this time called “Principles”) and “your work is more than just work” speeches. I see through it now but at the time phrases like “World’s Most Customer-Centric Company” are candy to a wide-eyed new-hire.

First Comes the Pager

After being on the team for a couple of months, I was put on the on-call rotation. Here’s what being on-call means:

  • You are on-call for 1 week every X weeks, where X is the number of members on your team
  • While on-call, your other projects take up at most half your time during the workday
  • The rest of the workday is focused on operational issues (keeping the lights on)
  • You are on 24/7 pager duty during your on-call

Here’s what pager duty means:

  • You are paged if a “thing” your team owns goes “into alarm.” This is intentionally vague because it means different things for different teams.
  • If paged, you have 15 minutes to get online and respond to the page
  • If you don’t, your manager is paged. You do NOT want this to happen

On-call wasn’t (and isn’t) too terrible for my team. At first we averaged 1 page every 2 weeks; now we’re up to about 1 a week. Other teams have it much, much worse. It is a social damper though. If you have to be able to “bail out” at a second’s notice, you can’t really make plans to go out anywhere.

I mention on-call duty because it is “peculiar” in that the only other profession requiring this kind of responsiveness is doctors, literal lifesavers. When you go on-call for the first time, it’s terrifying and tells you “holy crap, this is serious.”

During the hiring process, on-call is not mentioned in any way other than the usual salaried catch-all "are you willing to work nights and/or weekends."

Then Come Loaners

Occasionally in order to complete a large project, some other team may need to make code changes. That other team, naturally, may not be able to spare the developers required, so you get loaned out. Until the project is done, you're between teams and serving two managers.

In some cases, that other team thought they could spare the dev-hours and complete the code changes. When they don’t, at some point they fall behind, so you get loaned out.

Anyone who's read "The Mythical Man-Month" has their ears perking up. For those who haven't read it, here's the gist, via Wikipedia: "adding manpower to a late software project makes it later".

My worst days at Amazon have been when I was loaned out; in fact, the worst days of my life were when I was loaned out.

Near the end of my second year at Amazon, I was pulled into "Project X" (obviously renamed). It had all the underpinnings of a project with a bad future:

  • changing requirements from different teams, in different countries
  • high stakes and visibility (practically up to Bezos himself)

I won't give a day-by-day account, but to cut to the chase: things got intense.

As the project fell behind, the pressure and scrutiny from above grew. The project managers wanted to pass down the urgency in the most productive way possible, to moderate success.

Long weekdays turned into working over the weekend. I felt largely responsible for how behind things were. As of now, I have no idea how true that is. Whatever the cause, whether through the need to prove my worth or out of fear of failure, the result was the same: I worked non-stop. Every waking hour was put into write code and fixing bugs.

At first I still had some self-awareness. I knew objectively that working more only makes one less productive, but It Had To Be Done.

Exhaustion eventually took over. My code got worse and worse. I thought I could outrace my bug-count with lines of code. The Inner Loop of the Death Spiral had begun to spin.

Eventually the stress changed my personality in ways that became visible to others. I was rude, when I’m normally out-going and understanding. I was humorless when I’m usually the one who makes jokes. My co-workers starting noticing it, despite the guise I tried to put on. I started choosing work over being with my friends. At first they understood. Some amount of "sorry I need to work" is understandable. Eventually they started to worry too. Again, in a misguided attempt to not burden them, I began to isolate myself => The Second Loop of the Death Spiral.

Lock-in

We haven't yet reached the outermost loop, but first, a short aside.

Remember when I mentioned Amazon's moving and signing bonus? Little caveat on that, if you leave or are fired within 2 years, you have to pay it back.

Still fresh out of college, my savings were significantly less than how much I would've owed. So if I were to quit Amazon, I wouldn't just be out of a job, I would be in the hole more than three months' income.

So now I cannot "just leave." With that realization came paralyzing hopelessness. If I failed and got fired, then I may not be able to find another job for quite a while. Un/Underemployment among Millennials is kind of A Thing. Now I have the stress of staying employed on top of everything => The Third Loop.

Cascading Failure

At this point, my self-care was non-existent. All to maximize code output, I lived off a steady stream of junk food and caffeine. I've always had some level of insomnia, but it got much worse. The final straw was when I traded sleep for code.

At this point the stress became a massive black hole in my mind. No other analogy fits. It physically felt crushing. No emotions and no thoughts could escape. I could only go over and over how much it hurt and that I wanted it to stop. This state is what I think of when I hear "Amazombie."

During this time I cried. A lot. Usually when going to sleep, as I knew it would just all start again the next day. Sometimes with my wife. A couple of times in the bathroom stall. But no, (you masochists) not at my desk.

With my brain producing only two thought types ("Pain" and "Please stop pain"), it wasn't long before thoughts of suicide crept in.

To be clear: I never took any action on these thoughts. I did not want to kill myself. I kept thoughts of planning away as much as I could. But that's the thing with suicidal ideation: despite what you really want, the thought comes back again and again and finally replaces "Please stop pain" with "Please stop Everything." => The Final Loop.

Endgame

I finally sought psychiatric help. I remember the decision coming so matter-of-fact. Almost with the enthusiasm that you hire a handyman to fix something. "Hm. A leaky pipe. Better get a plumber." "Ruminating thoughts of ending it? I should have someone to look at that."

Up until this point, the only person who knew what was really going on was my wife. I cannot (but will try to) express my gratitude to her during this time. She was there exactly when I needed her. She helped even when she didn't understand why I was putting myself through it. She saw the signs much sooner than I did and tried to tell me. When I did realize I needed help, she put me in touch.

I was put on Celexa. Eventually the Death Spiral's loops unwound. The project launched. Things went back to mostly normal. I went off of Celexa after a couple of months. I didn't feel fully recovered until months later. I felt on eggshells. I rigorously prioritized self-care by leaving work at 8 hours in, on the dot. I started reaching back out to my friends for hangouts.

My manager gave me a couple of extra vacation days in return for my efforts. I was promoted to SDE II and was even healthy enough to celebrate and enjoy it.

Have Backbone

"So what? So you burned yourself out and got burned out. What did you expect?" I wrote this because I needed to put my story down and as a cautionary tale. I am NOT here to set some silly bar of what a "real" programmer does to get things done. I am NOT here to demonize Amazon.

As far as what I have to say to Amazon/Jeff Bezos, I only have a few things:

  • Revisit your bonus/relocation payback strategy. I don't know what the "right" solution is, but if that's what you need to keep employees, that's fucked.
  • Be upfront and as precise as possible with what a position entails. "Working alongside smart and passionate people" is lazy hiring.
  • Encourage employees to be critical not just of ideas, but also of expectations. Getting them to buy into the idea that they have to give up everything else to get validation from you is abusive.
  • Realize that productivity and happy employees is not a zero-sum game. The customer is not a wrathful god that demands a sacrifice

This cautionary tale is not Amazon-specific. This could happen to nearly anyone, but especially people working in intense workplaces and especially developers working in intense workplaces.

There's a saying that I saw over and over again in forums and subreddits, but never believed until I lived it:

It's your professional obligation to push back on unreasonable expectations. Your bosses may not like it at first, but they will respect you for it.

My other piece of advice-you-didn't-come-here-for: save some Fuck You money.

Common Reactions

I know that by posting this anonymously I'm not facilitating a discussion. An anon post is me talking at you.

However, I wouldn't be posting in this manner if I wasn't authentically afraid of losing my job. The only other voices we've heard from current employees have been gag-worthy in favor of Amazon: https://www.linkedin.com/pulse/amazonians-response-inside-amazon-wrestling-big-ideas-nick-ciubotariu, https://www.linkedin.com/pulse/my-name-brittan-im-amazonian-brittan-cole-ma

A few major criticisms of these two articles:

  • They're on LinkedIn. I abhor anything posted on LinkedIn. All criticism is toothless; all words watered down. Because everything is scoured by future employers, everyone is afraid of actually saying anything controversial.
  • They're from employees that aren't "on the ground," but rather a manager-of-managers and an HR-rep respectively.

Does no one else find it interesting that we're not seeing any negative criticism from current employees? I don't care what company you work for, there is never any shortage of people willing to complain. So why no negative articles from current employees?

Fear. Fear breeds a culture of silence.

There are a few common responses I've seen to articles and I would like to pre-empt those here:

"Working more than exactly 40 hours is part of being a professional." (and variants thereof) I agree wholeheartedly, but these should be occasional events. 70+ hour weeks shouldn't be the holding pattern. They should be appreciated by management. Hell, buy us dinner if you're going to fuck us over a door desk.

"Why didn't you just work less? It seems like a lot of it was your own fault." I go over this question again and again in my own head. Along with the reasons mentioned before, I just felt compelled to push through it. I felt that after getting hired at such a "big name" company, that if I didn't put everything I could into it that I was doing a disservice to all those who helped me get here. What I didn't realize was that the opposite was true: that by breaking myself, I did show that I wasn't ready in a way. Thankfully I did make it through as was able to learn from it.

"You're just a ball of negativity, no wonder you got depressed" Which brings me to my next section...

Happy Trails

In addition to my story, I do want to enumerate the things I enjoy about working at Amazon. I am still working here after all and I have no plans of putting in my notice.

  • Lax working hours & can work from home “What?!? After all you just said?!?” But seriously, when things are not in crisis, which is 80%+ of the time, a developer's day rarely starts before 9am. You can usually work from home about once a week. If you need to leave work early for a good reason, that's fine (though it's usually common courtesy to work from home afterward).

  • No Dress Code This may be a given in most places, but coming from a business-casual-only place, t-shirts are a godsend.

  • Pay It has to be mentioned. I won’t give out numbers, as that could be identifying, but Glassdoor.com can satisfy your curiosity. When a good portion of my friends struggle to stay gainfully employed, it is nice. Despite the issues I described above, I still come from a privileged position of being financially stable and now have a good amount of job security.

  • Work with and build on top of "giants" One of the common hiring catch phrases of tech companies is to "work alongside smart people." While I usually roll my eyes at that, it actually is important to a developer's growth to not always be the smartest one in the room.

  • Recruiting Jeff Bezos's email mentioned how we get contacted by recruiters all the time; with that aspect was in touch with our reality. I've heard from Google, Facebook, Netflix, and others. I got more recruiting emails in my first month in Seattle than I did in a year in my previous location.

  • Near-Instant Gratification There is something great about having code you wrote be actually executed by thousands of people every day. So few people get to show their friends and family a site they visit often and say "I did that thing there." Maybe it will wear off eventually, but it's still my favorite.

Event Horizon

I'm on a new loaner project now. Another "DEFCON ZEROMG!" project, but now I have boundaries,and the knowledge that Amazon will not topple over if I don’t work 70-hour weeks. Work-life balance can be largely subjective, but I now know what that balance looks like for me and enforce that while still putting my best efforts into my work I had to learn that the hard way. I can only hope you don't have to as well.

-amznymous (https://www.reddit.com/user/amznymous/)

@BillBarnhill
Copy link

+1, and thank you. As someone who was there (albeit a different there) at one point, it helps to hear similar stories from others.

@WriteCodeEveryday
Copy link

One of the most brightest people I knew ended up on the same downward spiral where bugs became more lines and more hours. He eventually turned to drinking himself to cope with a shitty work environment. I do think he also had suicidal ideation but ended up just ragequitting his job instead.

@aahmed-se
Copy link

+1

@gknauth
Copy link

gknauth commented May 21, 2020

Thank you for writing this. I'm sure it will help many people.

@willsliou
Copy link

Came here from Hacker News. Interesting write up - hope you're feeling better

@mtclinton
Copy link

"I am NOT here to demonize Amazon."

They almost pushed you to suicide, told you "we are family", and you are fearful of them enough to post a review anonymously.
The buck needs to stop somewhere. Amazon and Jeff Bezos are responsible for their employees

The US government needs to step in to help these people being exploited

@lawwantsin
Copy link

lawwantsin commented May 21, 2020

Every industry works its young people to the bone. I had the same hours in television as a PA. Eventually freelance is the only way to keep the bosses from riding your back all the way to the bank. Thanks for reminding me why I don't want to code for a Unicorn.

@mtclinton
Copy link

mtclinton commented May 21, 2020

Then the US government should go through every industry and regulate every company that is exploiting its young people to the point of suicide

And if the US government can give trillions to large corporations but can't help the average man from being exploited then the US government is illegitimate.

@danesparza
Copy link

As somebody who worked at a startup (that became a billion dollar company in the years that I worked there) I completely agree with you on many of these points.

it actually is important to a developer's growth to not always be the smartest one in the room

I have found this to be paramount. You will be bored, otherwise. In my book, try to not ever be the smartest one on your dev team. That gets difficult as the years go on (and I've been doing this for 25+ years) -- but it's doable. Just be picky. It's important.

@semanticbodger
Copy link

I mention on-call duty because it is “peculiar” in that the only other profession requiring this kind of responsiveness is doctors, literal lifesavers.

I appreciate the struggles you've experienced, but this particular statement is not well-grounded in reality. There are many professions - that have nothing to do with life-saving - where on-call (pager) duty is a necessary fact of life. Just because no one's dying doesn't necessarily mean that the employer, or the client, is willing to wait until 9AM of the next workday to have the situation fixed. When my internet connection dies at midnight, I call the ISP. And they dispatch someone to fix it - that night - if there's a confirmed outage. My father worked for a welding supply company, and he used to get off-hours calls when a client ran out of gas. There are many other such examples.

In software development, this is not "the norm", but neither is it abnormal. Every shop I've worked in with high transaction volumes had some kind of on-call expectation once I was up-to-speed. In some environments, it's the kind of "obligation" that you'll only be called to fulfill in rare, extreme scenarios. In other environments, taking on-call duty is almost a guarantee that you'll be called, at least once, at some point during your on-call shift.

If that's unacceptable to you (and there's nothing wrong if it is), then you should be careful to screen for those requirements when considering a potential job offer.

@jupytersalad
Copy link

semanticbodger said it best, imo. I agree 70+ hours as the norm is unreasonable. I also know several people that worked on Wall Street in the early 2000s that slept at work several times a week. This happens in so many industries, not just Amazon. You also mention several of the other FAANG companies that have attempted to recruit you. You can expect more of the same from them. Every semi-decent developer wants a role at one of these companies. The stock options alone will make you a millionaire. They know they can work you to the bone because finding the next person that is willing to work 70+ hours is easy. I'm happy to hear you're doing better. But I would expect more of the same at another FAANG company or a startup. Remember, the first million is always the hardest.

@Halkcyon
Copy link

Every semi-decent developer wants a role at one of these companies.

@jupytersalad solid nope. We all read these stories. I'd rather have a cushy job in the midwest where COL is low but pay is still way above average.

@dai
Copy link

dai commented May 22, 2020

+1

@johnwildes
Copy link

Thanks for sharing!

@AlphaHot
Copy link

+1

@Daniel15
Copy link

This is from 2015... Not sure why it's getting so much attention again today?

I wonder if anything has changed at Amazon since this was written.

@rodmirsantana
Copy link

Nice article. I've read similar stories about working in one of these big tech companies, but didn't know that Amazon have these particular conditions. I currently work at a software company (not a big one) and feel that it can be better for work/life balance in many ways when compared to the big ones.

@semanticbodger
Copy link

This is from 2015... Not sure why it's getting so much attention again today?

I wonder if anything has changed at Amazon since this was written.

It was featured on Digg recently.

@orlyyani
Copy link

+1

@kamalhm
Copy link

kamalhm commented May 22, 2020

@dbsima
Copy link

dbsima commented May 26, 2020

Thanks for sharing!

@Parkman328
Copy link

Thanks for Sharing ! Very Insightful... Some days I feel it as well... Especially My Mac tells me I have had 65 % uptick in screen time with average of 10 hours a day.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment