During the eight years I spent as a software engineering manager, I regularly tracked how I spent my time. As a startup engineering manager, I was responsible for a wide range of duties, so keeping track of which areas I spent the most time on helped me plan and schedule appropriately.
For example, I knew that I typically spent about one-third of my time helping my team solve technical problems or pairing with teammates. Knowing this, I reserved some free blocks of time for them. If my whole week were full of meetings and big-picture planning, I’d become a blocker for my team who needed my input on specific issues.
Since many prospective software engineering managers ask me about my job and what it entailed, I decided to create this detailed look at how I spent my time. While every company and role is different, I hope this post gives you some firsthand insight into a day in the life of an engineering manager.
What Does a Software Engineering Manager Do?
First, a little bit about my roles as an engineering manager: My first management role was at Packback, a question-and-answer platform for college professors.
I joined the team when there were just four people in the company; it was essentially myself and the founders. In the intervening three years, I saw the company raise close to $5 million and grow to almost 30 people. My engineering team was pretty lean—there were five when I left in 2016—but my role changed quite a bit over my years with the company.
After I left Packback to join The Graide Network, I started over as an engineering manager. Initially, my team was just a contractor and me, but over my four years at Graide, I hired three other engineers and took on more of the product management duties.
While my day-to-day work changed a lot over the years, as a software engineering manager, I was ultimately responsible for helping my team ship software that worked as expected, on schedule, and within budget.
The tricky word there is “helping.” What does that mean exactly? Does it mean that an engineering manager writes code? Or do they just make sure everyone on their team is writing code?