I want to preface this article by saying that just like for technologies, each team owns the way they organize their work and is pretty much completely free on this aspect, so my experience might vary a lot from other teams. Please remember that my thoughts and opinions are my own and I am in no way representing Amazon.
I am working as a software engineer at Amazon, in the small country of Luxembourg, since March 2018. I first started as an intern, and after 6 months, I joined a new team as full time employee. I’ve been in this team since then, and here’s what a typical day looks like for me.
9:15 – Arrival in the office
One of the things that I have definitely taken for granted since I joined Amazon is the almost absolute freedom when it comes to what time I arrive at the office. Of course, most people will arrive between 8 and 10AM, but I’m sure you could arrange an out of the ordinary schedule pretty easily, and as long as you can be here for most of the meetings, you’re good.
In my case, usually I wake up around 8AM and I try to arrive in the office around 9:15. Usually a bit more than half of the team is already here working, but some people around later, around 10AM.
9:30 – Standup meeting
I am usually a very organized person, especially when it comes to my computer. I have a lot of rules on my email client that sort the incoming emails automatically, which consequently means that I have to spend very little time reading emails in the morning (and throughout the day).
Therefore, my only habit in the morning is usually to get a glass of water, and maybe read the 1 or 2 emails that I received and that should be addressed. That is, if it’s not a Friday. Because on Friday, my manager has this tradition of bringing donuts for the whole team and making an awesome drawing on the wideboard, in which case I’ll of course take a pastry. Or two.
After that, I have a small standup meeting with about a third of my team (we’re split in multiple small groups), where we’ll quickly say what we did yesterday, what is the plan for today, and mention any blockers.
My personal opinion of standup meetings is that they’re not very useful for individual contributors (developers), but I see the value for the project managers and the team leads, and they help to know what my teammates are working on. This makes me be totally fine with it, especially since ours take usually around 5 minutes only!
9:45 to 12 – Coding, design & meetings
My team works in sprints, so I’m going to get my tasks from our sprint board. It is very rare that my tasks are small enough to be completed in a single day, so I will usually be working on something that I started the previous day. Of course, my work is a lot of coding work, but I have 2 main types of technical tasks:
- Writing production code. I do fullstack work, and more, so I might be writing an Angular component for our frontend, some Java for the backend, or setting up infrastructure on AWS, amongst many other kinds of development tasks.
- Doing technical designs. As soon as I joined Amazon, even as an intern, I received some design tasks, either for small parts of projects, or for complete, big components, that would be a whole new project. The level of ownership and autonomy that is given to everyone in the company is one of the great parts of working here!
On internet you will read a lot of developers talking about how “meetings are useless” and how they hate them. I don’t share that opinion, and I’m always included in meetings which are meaningful for me. I also like the fact that those meetings are the opportunity to get exposed to our customers, or to the big technical challenges faced by my team.
Customer obsession is one of the 14 leadership principles of Amazon, and we always start with the customer’s needs, and work backwards from there. This means that meetings are invaluable to make sure what we develop is aligned with the requirements of our customers.
12 to 1 – Lunch!
It’s been a bit less the case lately, but usually I take an hour for my lunch break. We go out with some friends and colleagues in the many shops or restaurants that are around the office, and usually go back to eat in one of the many kitchens. There are also some “snack counters” where we can buy some food directly in the office.
Lately I have been eating a bit more at my desk, when I want to finish something for example or if I have to prepare a meeting, but the large majority of my team always takes an hour at lunch.
1 to 6 – More work!
The afternoon is pretty much spent the same way as the morning, but I didn’t mention a few things before. Another leadership principle of Amazon is “Hire and Develop the best“, and some of our work includes interviewing new candidates, and mentoring our peers.
I like doing interviews a lot, it allows me to meet new people that all have a very varied background, coming from different countries, universities, and previous work experiences. The interviews that I got when I applied to Amazon felt more like conversations rather than one sided interrogations, so I try as much as possible to keep the same feel in my own interviews. I started doing interviews a few months after I joined as a fulltime employee, and I usually do multiple every month.
I actually plan to write an article about interview in the future!
Around 6 – End of the day
I finish my day between 5:30 and 6PM, depending of what I have left to do for the day, but again everyone is free to leave whenever they see fit, so some leave at 5 and some stay later in the evening.
I also very often go out for drinks with colleagues and friends, or go to the cinema and the restaurant, before heading back home!
This concludes my article about a typical day in the life of an Amazon Software Engineer! I left out some things of course, and I wanted to focus on the work aspect of the day rather than my teeth brushing and showering, but I hope it will help you get an idea of how I work there.
PS: If you are interested in joining Amazon, you can see all open positions on amazon.jobs!