A Day in the Life of a Software Development Manager with 14 Direct Reports
A story of too much work, too many reports, and perhaps too much ambition.
Welcome to the Scarlet Ink newsletter. I'm Dave Anderson, an ex-Amazon Tech Director and GM. Each week I write a newsletter article on tech industry careers, and specific leadership advice.
One of my most popular articles was when I described a day in the life of a senior manager at Amazon. I enjoyed the experience, and thought I’d rewind time a little bit.
On my way to senior manager, I went through what I’d consider a career bottleneck. That bottleneck is the move from being a line manager (software development manager in my case) to a senior manager.
Part of the reason that the transition is tough is how the increased scope tends to manifest.
You see, imagine you’re sitting around with 8 engineers reporting to you. It’s a decent sized team, and you’re pretty busy. Your manager is impressed with you, and says that they feel you’re on track to get to senior manager.
“Great!” you think excitedly. Time for your first manager report, right?
Except that’s not usually how it works. You see, what frequently happens is that you get more headcount through increased scope. Perhaps you get more projects approved, or some other approved project is allocated to your team.
For the most part, particularly with flatter organizations these days, leadership wants you to reach your management limit before you get a manager headcount. They want you to manage as many people as possible before you’re allowed to scale by hiring a manager. This makes financial sense, but it can create a pretty painful situation.
I built confidence with my management chain that I could handle more responsibilities. As our headcount grew, I continually added people to my team. I reached 14 engineers before my management chain agreed that it was time for me to hire a manager and split my team.
And that’s the experience I thought would be worthwhile to share.
This isn't a real day. However, it is a realistic day, and contains components of real days I experienced. With privacy / confidentiality changes as I feel necessary.
Welcome to those of you new to Scarlet Ink! Each week I send an article to all subscribers. Free members can read approximately half of each article, while paid members can read the full article.
For some, half of each article is plenty! But if you'd like to read more, I'd love you to consider becoming a paid member!
7:12 am — The Kitchenette
I arrived at work fairly early to skip traffic. I dropped my bag off in my office, and wandered down the hallway to the kitchenette to get my coffee.
Let me briefly summarize the management levels at Amazon before I continue with my story.
A level 5 manager is the lowest level management level. It’s viewed by most people as a junior management position, where you learn the ropes before becoming a real manager.
Most managers at Amazon are level 6. A level 6 manager is a core line manager, responsible for directly managing individual contributors (people who do things).
Level 7 is a senior manager, where you are generally managing many line managers. Level 8 is a Director. You manage multiple senior managers at that level..
I was a level 6 software development manager, and I had 14 engineers reporting to me, all of them level 4 or level 5.
In the kitchenette, I noticed three boxes of donuts sitting on the counter. My spirits lifted. It was Wednesday, and the week already felt long. Donuts could cure a bad mood. Even if I shouldn’t be eating them.
I grabbed one, and took a bite. Yum!
The coffee machine had yesterday’s old coffee in it. After mistakenly drinking day old coffee once, I’m meticulous about checking first.
I was usually the one to make coffee, so I ran through the steps to make a fresh pot quickly. I always doubled the recommended coffee grounds because I was confident that the garbage drip coffee tasted better that way. I’d heard someone complain once that the coffee in the kitchen was too strong. I pretended I didn’t hear them.
When the coffee started brewing, I realized that my donut was gone. I briefly wondered if I’d misplaced it. Probably not.
I grabbed another donut, and took a bite. Yum.
I grabbed a cup of coffee, and quickly left the kitchen, before I could grab myself another donut.
In the quiet hallway, I ran into Shanice, a product manager from our organization. It’s interesting that the ratio of engineers to other job families changes through the day. Most engineers weren’t in the office that early.
“Hey Dave!” Shanice said, stopping in front of me. Darn. “If you remember, last week Darby said he was going to look into your dependencies and estimates for the tax code information we need added to the data export. He didn’t get back to me, but I need it now so I can roll them up in our doc for a meeting this afternoon. Can you please get those to me in the next hour or two?”
I hated to miss deadlines, and we’d clearly missed our deadline. And I knew there was no way that Darby was in the office yet.
“Sorry for being late on that, Shanice.” I said. “We have a lot of these estimates floating around, and Darby probably lost track of time. I’ll make sure you get them in the next hour.”
I glanced at my watch to remember what I was promising. 8am was my mental deadline.
Shanice nodded, and continued on her way.
I walked through my team’s area. Sure enough, no one was there yet. Bah.
7:59 am — My office
I found the information for Shanice’s project in my email. I spent the next 25 minutes reading through the requirements, and wrote up a quick estimate, along with my expectation that we’d need a small change from another peer team. I sent it off to Shanice right before 8am. I forward Darby the email, and let him know that I had to make up some estimates quickly because we’d missed the deadline. I called it “we” instead of “he” because I was trying to be slightly less accusatory. Perhaps he has a good excuse.
I had time now to catch up on some emails before my meetings started. I skimmed through my overflowing inbox to see if there was anything urgent. I noticed an email from my manager Yvette, so I took a look at that one first.
Yvette had been copied on an email about an outage in one of our systems. She asked me for an update on what caused the outage.
I clicked on the related outage, and traced it back through our ticket system. It was a 3-minute outage in one of our services due to someone following the change steps wrong in some security DNS change. It didn’t look like the 3-minute outage caused any major customer impact. It made one of our UI tools break for a few minutes, but we only received one customer contact about it.
The networking people had closed the ticket saying that it was resolved, and didn’t leave a COE link. A COE document is usually expected for any important outage, but as everyone’s human, they try to avoid writing COEs for smaller events to avoid the work.
Unfortunately for them, my manager asked for an update, and that meant I was going to push that request onward. I asked the networking team for a COE.
I responded to Yvette’s email, and told her that I asked the networking team for a COE, and I’d send it along to her as soon as I received it.
The funny thing was that I was fairly sure Yvette would forget about the outage, I’d forget about the outage, and the networking team would ignore my request for a COE. But by requesting one, I protected myself in case things went south later. For example, if there was another similar outage a few days later, I could always point to my COE request as proof I was doing the right thing. Which was good enough to let me move on to more important work.
I responded to a few other requests for information, and updated a tracking spreadsheet with the status of a few of our projects before I had to head to my first meeting.
8:34 am — Coffee with a manager
Hiring a manager to run part of my team was high on my priority list. I had too many team members directly reporting to me. That means that I was responsible for organizing 14 people worth of projects, giving 14 people worth of feedback, and so on. I really needed to spread out the load.
Additionally, getting to senior manager was top of my career priority list, and you can’t do that if you don’t have at least one manager reporting to you.
I met with Cristina at a Starbucks two blocks away from my office. Christina was another level 6 development manager. I’d worked with her on a few projects in the past. I thought she was a decent communicator, and seemed like a nice person. And on the practical side, she had only 5 engineers reporting to her, which meant she wasn’t on a fast track to promotion herself.
After some small talk, we got down to business.
“Christina, I’d like you to join my team.” I said. “I need someone to manage this product (I described what she’d own), and I think it would be a good opportunity for you.”
“I think that’s potentially a good opportunity.” Christina said, nodding. “But would I report to you, or your manager?”
I figured I knew where this was going.
“It would report to me.” I said. “I think we’d work well together.”
She nodded, but frowned. “I’m interested in moving towards level 7. I don’t think I can move towards level 7 if I go work for someone my level.”
“I’m on track to get to level 7.” I said. It felt a bit odd saying it, but I truly understood her reservations. “My organization is growing quickly, and you’d have an opportunity to establish yourself as a senior leader here.”
She shook her head. “Well, I’ll let you know. I think I’m only interested in opportunities where I would report to a senior manager or director. But please let me know if the reporting structure changes.”
Ouch. But this wasn’t the first time I’d heard the same thing. It was common for level 6 managers to have trouble finding managers willing to work for them.
9:58 am — Catching up
My 9:30am meeting finished early, so I hurried into my office to catch up on things. I swept through the kitchen on the way to grab another donut. Sadly, they were all gone.
I received an instant message from a program manager who said they need to schedule an hour-long meeting today, but no one is available except at noon. Everyone else was free, but my calendar is blocked. They asked if I could please meet anyway.
Yes, I do have my calendar blocked at noon. Because otherwise I don’t get time to eat.
But I recognize the meeting, and I suspect if I refused to move my meeting, they’d just meet without me. Then bad decisions would be made without our input, and I’d have to spend yet more time undoing the decisions. It wasn’t worth protecting my lunch.
I think about sending an engineer to the meeting, but it’ll require some careful negotiation to get those requirements fixed, and I don’t have anyone senior and subtle enough to do it.
I sigh, and reply that I will attend if they provide lunch. They agree.
I had a one-on-one with Darby (an engineer on my team) scheduled for 12:30. I look at my calendar for the day, and I see a 4pm project status meeting I could skip. I email Darby apologizing for moving his one-on-one, and reschedule it to 4pm. I don’t want to push it past today because Darby had missed that estimate, and I needed to give him feedback.
Schedule tetris is fun.