Skip to content

Instantly share code, notes, and snippets.

@summivox
Forked from bricker/amznymous.md
Created May 22, 2020 00:31
Show Gist options
  • Save summivox/6c658aa8fafd12baec0f815eb38da550 to your computer and use it in GitHub Desktop.
Save summivox/6c658aa8fafd12baec0f815eb38da550 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/)

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