Hacker News new | ask | show | jobs
by cesarbs 3963 days ago
I'm curious about one thing: what exactly was the source of your work-related stress, apart form the on-call pages? This is something people rarely elaborate on and I think is very important to get a good picture of the place.

I see two different sources of stress in engineering work: large volume stress and "hostile dev environment" stress (sorry, I wish I could come up with a better term). The first means just that you have a large load of things to do. Personally I am not that much bothered by it if my environment allows me to execute on that volume of tasks. What often has me going into mad rages is the second type of stress: IDE slowness, random unexplicable build crashes, inefficient engineering systems, poorly designed code that makes it really hard to test it quickly. You get the idea. You have a task to get done and you could get it done if it depended on your competence alone, but the development environment is so fucked up that you constantly battle it when trying to make the smallest of changes. That builds up a ridiculous amount of stress because now you feel like you're lagging behind, and it's not because you don't know how to do something, but simply because the very thing that should enable your work prevents you from doing so.

What of those kinds of stresses did you have at Amazon? I'm genuinely curious.

3 comments

I'm not the OP but I've worked at Amazon for four years as an SDET. I think "hostile dev work environment" is a good description of working here but it's different from what you describe. What you describe is more like just dealing with a culture of pervasive incompetence.

Just a couple of examples. There is an immense amount of pressure to perform and deliver results. A lot of the time I don't even know what we are supposed to be delivering but I can tell there's a lot riding on delivering it. I've seen multiple managers demoted to individual contributor roles for, well I'm not sure what for. Presumably not delivering.

As for my own personal experience, there is the expectation that you as a developer will perform the work of several developers. I am expected to keep up with sometimes a thousand email messages a day, many of which require some action on my part, work on JIRA tickets assigned to me, attend meetings, answer questions from coworkers and fix bugs. But that is not nearly enough. One needs to "deliver results". So on top of the full time job described above, it is expected that I will conceive, plan, organize, and implement new features and new projects that deliver value. And I have to organize meetings so everyone knows about the new project and is aware of the value our team is delivering.

And yes, as you described, we also have to deal with figuring out how to get things done in spite of the incompetence of other teams we are working with.

Not the OP, but I worked at amazon for a year. I didn't want to pay back the signing bonus and relocation fees, or I would have quit earlier. Seattle has tons of way better opportunities for software developers.

Honestly, the stress originates from both. There was a lot of pressure to work ridiculous hours during the week and come in during the weekends (wtf??)

On top of that, the tools sucked. They give you a shitty laptop (frugality) that would go to the "locked" screen after x minutes if you were idle, and logging in could take 10 minutes because it was attached to an AD network and sometimes decided to use the server in China for authentication (seriously?) If your keyboard broke or something of the sort you had to wait in line for hours to get another (crappy) working one. They force you to use homegrown tools and plugins that are crashy and frustrating. I was soo tempted to just spend all the time fixing the tools, but I'm sure that would have gotten me into trouble, though it would have probably improved every software engineer's productivity. This was a few years ago. Maybe someone has fixed all this by now :)

I think you can specify the VPN server. I do it all the time and never let it auto-pick.

Keyboard and other minor equipment acquiring process is also fixed/streamlined now. Its much more self-service and does not require standing in queue or getting manager approval.

And on top of all, the one thing I really respect/revere at Amazon are the builder tools. They are probably the best I've seen so far! And yeah, this is probably today and I've heard it was bad a few years back.

But I can relate to working on weekends though. That still remains.

A bad carpenter blames his tools.
When you can choose the tools you want to work with and still complain about them, then yes, you are at fault. But when you are forced to use a set of really bad tools and there's not much you can do about it, it's legit to complain about them.

It's one thing being able to choose to use e.g. Emacs, git, and a language of your choice vs. working on a project that requires you to use an outdated version control system, a clunky IDE and more of that sort.

What on earth are you even talking about? Most people at Amazon I know use IntelliJ or vim, its their choice. The languages teams use are also that teams choice. The whole company uses git. I don't think you ever worked there...
I've never said that I work or have worked there. I was not talking about their tools.
Oh right, having a shitty laptop that locks up when I have chrome and intellij open is my fault.
I'm curious - does this quote have a source?