DEV Community

Discussion on: What It's Like To Code For Amazon

Collapse
 
val_baca profile image
Valentin Baca

I'm an Amazon Sr. SDE of nearly 10 YOE.

First, you're absolutely right that Amazon is HUGE so there's no such thing as "never" or "always" Individual teams can be remarkably different.

That said, here's my responses:

They're all devs.

This is quite rare. Each team I've been on works closely with business, data engineers, product managers, and marketing.

Amazon doesn't just re-invent the wheel.

A lot of the times, we were inventing the wheel. Apollo/Pipelines simply didn't exist in the world when they were first written.

That said, Amazon is absolutely obsessed with writing their own version of everything or putting wrappers around everything. You're spot on there.

However, you still need to know the fundamentals. CRUX still relies on you knowing how to use git

Why they can't simply send everyone the link before the call, I'll never understand.

Ironically enough, it's meant to respect everyone's time. By doing the reading within the meeting, it ensures that everyone is on the same page (quite literally lol). If they sent out the doc ahead, there would be maybe 20% of people that would actually read it and most wouldn't. Speaking from experience. At the beginning of COVID we tried not doing reading within the meeting and it never worked.

My trick is to just leave the meeting and come back in 15 mins. I cannot stand just being on a muted call. Someone always wants to talk and it interrupts my reading.

Specifically, they're incredibly Java-driven.

Yep. 100%

because the build engine is configured to only allow code that's ES5 (or earlier) compliant.

We do have access to and can use babel. It's easy to setup.

Collapse
 
bytebodger profile image
Adam Nathaniel Davis

Thank you for providing this context!!

Collapse
 
namita2310 profile image
namita2310

I have heard that the work load is very high there. Is it true?

Collapse
 
bytebodger profile image
Adam Nathaniel Davis

@val_baca provided some great feedback on this already. And with the caveat that I've only worked here since March, I'll say that I agree with what he's mentioned. The workload doesn't honestly feel inordinately high - to me, at least. Yes, we have a lotta work. (And honestly, we should have a lotta work, considering how we're compensated.) But there's a tremendous amount of trust/freedom afforded to us as well. I've had to call out for a few days here-and-there, and no one's batted an eye at it yet. (Although I'm sure that would be quite different if you didn't know how to properly/professionally communicate those times off with your manager and/or your colleagues.)

I also think, given that Amazon tends to hire very "top-shelf" kinda devs, one of the expectations about being in that kinda privileged position is that you're inherently self-driven. For example, it's almost 9:30PM right now - and I'm still working. But am I working cuz someone at Amazon yelled at me or pressured me into working late?? Not at all. I'm working now because 1) this is a great time for me to work, and 2) I'm incredibly invested in finishing the coding task in front of me at the moment. If I had just shut down my laptop at 5PM, nobody woulda said a darn thing to me about it. But I want to be working on this code right now.

Ultimately, it's about whether or not you can deliver a large volume of quality solutions in an "efficient" period of time. When you're trying to get a lotta stuff done, and you feel personally invested in the work, then sometimes you find yourself working late - entirely of your own accord.

Collapse
 
val_baca profile image
Valentin Baca

It's very true. It takes quite the toll and Amazon certainly gets their money's worth (which makes sense, given what Amazon SDE salaries are). It's certainly on the individual to set their professional boundaries and to determine what "work-life balance" looks like for you.

On the one hand, I find myself doing interviews, going on-call, reviewing system designs, doing code reviews for six different programming languages, while writing in three different on my own project, etc. etc.

On the other hand, if I need to leave in the middle of the day to run an important errand or if I need to just log off a bit early every now and then, that's totally fine too.

You also get the work experience that fulfills any job description's wish list. AWS and Docker experience? HA! of course! CD/CI and testing? Of course!! etc.