To main site
Back for more posts
DITL
career
technical
Share:
9 min read - 1734 words
Date published: 14-Aug-2023
Date modified: 25-Jan-2024

Day in the life of a SWE at Amazon

I was inspired by a recent substack DITL of a senior manager at Amazon so I want to do something similar. This is an experience of an L5 SDE

Disclaimer: none of the name/project mentioned here exist irl

7:30AM - 1 Code Review (CR)

It's time to feed my pet bunny! I instinctively grabbed my phone on bedside to check for DMs and emails. It's not a good habit but it eases my anxiety, knowing our team also work with both Pacific and India time zone. Plus we just deployed an important fix to Prod yesterday and India team has a history of reverting without consulting.

Phew! No reverting notification. Just a code review request coming from Jay. He must have done this late last night as I am sure I clean out my code feedback before I signed off yesterday. Poor guy, AJ our manager must have pushed some arbitrary deadline on him again. Anyway, I will review ‘em later, too early for any review

Since I am up anyway, yesterday during dinner I came up with a quick enhancement for our monitoring system. Might take the opportunity of the quiet early morning to get it out.

Give my SO one final hug before get up from bed and head to my wfh desk

9:00AM - 1 CR, 3 DMs

Yes! My enhancement is indeed quick and works. And I only went over by 50% of my initial estimated time for it (1.5 hr instead of 1). I cleaned up my commit and raise a CR, tagging few people from my pod.

DM from Shaun (our sister’s team Sr SDE) - “[scheduled msg] Hey Dat, trying to implement X to automate Y in Z. Since you spinned up Z in NA, any doc you can recommend me with?”

DM from AJ - “GM Dat, can you send me a list of priorities for operational excellence (OE) in Q3 by EOD?”

DM from Vishnu (my skip) “Hey, what are your plan for OE? Seems like we are spiking in tickets…”

…Ah right. I “volunteered” to be OE champion recently. Still, feels like some of these DM can be better coordinated 😮‍💨

I shared my list of doc references to Shaun then drop a message to a group chat between me, AJ, and Vishnu

“Yes, I have already cleaned up our Jira backlog few days ago, you should be able to visit link Z and apply q3 label to view it”

I accidentally clicked on that group chat about 10 minutes later and found a thumb up and an “ack” reaction.

10:30AM - 2 CR

It's the weekly sync with the India team today. This time slotseems to be the only time that works between IST, EST, and PST. Naturally because of that, I see like 5 meeting happen on the same time. Do feel nice i can pick with mtg to go to

Normally, i would just jump in the call and tune out but today, I need to ask some question to the India team

Me - “Hello! I am making some change to system Z. What is the safest way to test and deploy it?”

India team - “you need to write integration test and validate in Beta”

Me - “can you provide an example/doc or code reference?”

India team - “We don't have any reliable testing and no doc. you can deploy to Beta but no dependency is working there (no mock neither)”

I screamed internally. “Fk it” - i thought to myself. This has been back and forth for weeks now. At this point I will just secretly deploy my change to Gamma while they asleep so I can do some validation myself

11:30pm 2 CR / 1 DM

DM from Jim - “got a minute?”

After a “yee” from me, Jim started a Huddle

Jim - “just want to let you know but I am rotating to another org”

Jim is my work bestie ever since he joined the team. Back then, we were in a same team (along with Shaun and few others), which has an amazing dynamic (and arguably best performing too). Recently, our director decided to re-org, dismantle our team and scattered us among others team. Jim unfortunately got put into a very bad team. Since the re-org, he has gotten more and more frustrated

Hearing the news about Jim’s departure, I am 100% happy for him but can't help but being sad. Not because he left but because he left before me…

I told Jim exactly that, along with keep in touch. We then proceeded to chat for half an hour about how this org is setup for failures

12:00pm 3 CR

It's org all hand meeting today for 2 hours! Yay, this usually means I can finally get some work done since all other meeting has to cancel in favor of this. I joined the call but then tune out to work on some design (and heat up some hot pockets for lunch).

Every now and then, I hear words like attrition, org health focus, etc, from the director. I shake my head and sigh. He didn't even told us about re-org or layoff when it happen. We all know via second channel. And he has the guts to say he focus on org health.

Eh… outside my control. At least what I am building next is technically fun

1:42pm - 5 CR / 2 DM

A Sev 2 ticket! I saw the title in the corner of my eyes and know it comes from my monitoring system. Probably an external issue. Eh.. let's the oncall handle it

15 minutes later…

DM from Zhao (current oncall) - “hey! I think your monitoring system is wrong from this sev 2 ticket”

DM from AJ - “hey Dat! Can you take a look at the monitoring system you built. Zhao said the data is wrong”

I dropped my doc and start investigating. It was just as I predicted that it is a seller issue. I looked into Zhao’s notes and he interpreted the data completely wrong, which leads to incorrect assessment. Unsure if it is malicious and incompetent. I updated the ticket and route to the partner success team

Few hours later, I received an email it has been resolved, with the root cause is due to seller not restarted their system

2:00pm - 5 CR

Zhao setup a design review meeting for a new anomaly detection engine. Its vision range from being single anomaly source of truth to what seems like to also even do your taxes… well, I exaggerated but this has going on for the past half year and it is still stuck at design phase.

I read through the doc and while the technical details are unclear, its purpose is to replace the monitoring system I built. Things started to make sense to me now.

Reading time over, I raise my concern and confusion, to which Zhao said the system is going to also depend on my monitoring system, but it is going to be better. They could not explain how is it better. I then asked why do they try to replace what is already working and not enhance it. Before I got a satisfied answer, we ran out of time

Later AJ said he noticed some friction (codeword for tension) between me and Zhao

3:00pm - 5 CR

It’s daily standup time for my project. As usual, Ken (our PM) and Kelly (our TPM) and Jay shows up. AJ knows my ability enough so he decided to be absence from this unless specifically summoned

Me - “we are blocked because of testing with India team service. Working on a workaround but unsure it will work”

Kelly - “does it impact out timeline?”

Me - “i don’t know yet, there are many unknown”

Kelly - “if we know the unknown, do you know how long it will take?”

Me - “… we can launch without testing if you want to take that risk”

After a while, Kelly finally let me get away with not providing any definite date, although I can feel the unhappiness coming from Ken.

After the updates, Jay pinged me on the side

Jay - “I am very stressed out because I don't think I can complete abc for the feature by this date”

Me - “just do the best you can. We will be fine as long as we deliver high quality”

Jay joined us straight out of college couple months ago. I can tell they were really pressured by the managers to rush deadline. They are a great engineer and I really want to nurture that. Thus, i will do my best to protect them from all the timeline shenanigans

Before my next meeting, I find sometime to review couple CR. Most looks good with minor feedback. I tend to approve them anyway

4:00pm - 2 CR

It is now my design meeting on a new feature for our sellers. The team is invited along with the PE and some Sr SDE across team. They always joins late though.

It is always uneventful and minimal comment until the PE came. Not sure if I am a great doc writer or so bad that folks just give up.

Our PE has a reputation of roasting designs. Some is reasonable while others seem more like setting examples. For this one, while I do got some feedback to add more diagram, overall he has no problem with the approach, even appreciate the length I took to disambiguate things. Looks like we got the PE approval early this time

5:30pm - 0 CR

I ensure to clean out my CR review by EOD, except for long ones. Also, was able to get enough approval (Zhao did review but he did not approve) to merge and auto deploy my change from the morning. Not a bad way to end the day

… so it seems…

8:00pm - 0 CR / 5+ DMs

“How do we debug system x?”

“Hello…”

“Can you help me understand x y z further?”

Most of them I leave till next day. If it urgent enough they would page me already. When that happen I would just make a big groan before dragging myself back to the desk. Maybe I should start setting up boundaries