Almost two years ago I took on a new role as an engineering manager. In an attempt to get a better understanding of how to properly perform in this role, I’ve been interviewing several managers for the site. Here is the second in the series of those interviews. In this one, I speak with a former coworker, Matt Nohr. He is currently a Backend Engineering Manager at Gitlab. You can find more information about him on LinkedIn.
- What was your career path to becoming an Engineering Manager? Was it an intentional decision or were you unexpectedly offered the opportunity to transition away from being an engineer?
I started my career as a backend software engineer, starting with large internal applications for 3M and eventually helping build the IoT platform for SmartThings. For most of that time, I did not want to go down the management track. However, during my time at SmartThings I was “strongly encouraged” to take on some people management responsibilities in addition to my engineering role. At the time we were quickly growing the engineering organization and needed help on the people-management side. It turned out to be something I enjoyed doing. For the first few years I had to balance being both an engineer and a manager but then was able to switch to being a full-time manager.
- What is your definition of an Engineering Manager and what do you see as the purpose of an Engineering Manager inside your organization?
I work for GitLab, where we’re lucky enough to have pretty well-defined definitions of the Engineering Manager and other leadership roles. In short, I feel like my main job is to make my team be successful. That includes meeting with them regularly in one-on-one meetings, removing anything that is blocking them, and helping them grow in skills and experience. I also spend time recruiting/hiring to build out teams, high-level project planning for the team, and helping to improve processes across teams.
- Did you receive any formal training once making the move to management? If so what kind? If no, what self-learning have you done to close the knowledge gap?
Unlike learning a new programming language or concept, there is not a simple path or defined set of skills for being a manager. I did take some classes on my own which had varying amounts of value. A lot of my training was more of the “learn by doing” style. That said, there were some good books that helped. When first starting out as a manager, or moving into any new position, I’d recommend reading The First 90 Days. I also learned quite a bit from Drive: The Surprising Truth About What Motivates Us and Turn the Ship Around!: A True Story of Turning Followers into Leaders. There are also plenty of blogs and articles out there.
- How does a normal workday as a manager differ from your normal workday as an engineer?
The “product” I am developing is no longer just the software or hardware, it is the team of people I manage. This means my days are spent checking in with the people I work with. I also am coordinating projects for my team and working across teams to identify dependencies, improve the process, and remove blockers. Depending on the day, I also spend time recruiting and hiring to help make the team better.
- Gitlab is a fully remote company. How has being part of a fully remote company changed the way you manage?
Managing a fully-remote team changed things a little, but not as much as I expected. I have always valued open and transparent communication, which is probably the most important thing with a remote team. You also must have a high level of trust in your team. Like many things, GitLab has a public-facing entry in the handbook all about managing within a remote company.
- Has the pandemic changed the way you operate/manage your team and if so how?
GitLab was a fully remote team before the pandemic, so when other companies were shutting down offices and figuring out how to be a temporarily remote company, we just kept on working. The big difference is what is happening in people’s lives outside of work. For me it has been very interesting to hear how people on my team around the world have been dealing with stay-at-home orders, quarentines, and travel restrictions.
For the whole company, we’ve had to adapt to more flexible schedules as people are balancing not just work, but potentially additional child care responsibilities, caring for family members, and dealing with the stress of the pandemic. We have regular “family and friends” days where the whole company is expected to to take the day off to recharge and spend time on the important things outside of work
- What is the single most unexpected part of the job?
Every day is different, so there are many small unexpected things that happen. As a manager, I feel like I have to be able to juggle all these unexpected things. This means that there are many times when I need to learn about a problem, try to quickly understand the different aspects of it, and then make a decision. This happens to me multiple times each day.
- What is the highlight of the job?
For me, the highlight is when the team starts working really well together and you notice they are moving faster than you realized. When the team or a single person is exceeding your expectations and they can continuously improve without you having to be directly involved, it is very rewarding.
- What is the best piece of advice you can offer a new Engineering Manager?
One hard part about moving away from being an engineer to an engineering manager is that you need to learn a whole new set of skills. You often do not want to give up on the engineering skills you have mastered, so you will be tempted to keep writing code while also trying to be a manager. The sooner you can move away from this, and stop trying to do both jobs, the better it is for you and your team. Your job is now letting the people on your team write the code and helping them improve, and if you keep doing their job, they will not be able to learn and grow.
If you do feel the need to keep writing code, be careful with what you do. Try to avoid anything on the “critical path” and only pick up a small task that won’t get in the way with what your team is doing. You shouldn’t be a blocker and have someone on your team waiting for you to finish a task since you are not a full-time engineer anymore.
That said, I still enjoy writing code. However, I focus my energy on things not directly tied to our team priorities or deliverables, like automating repetitive tasks, building analytics and reporting, or updating documentation.
- Would you say that being in Minnesota has helped or hindered your career?
I have been fortunate to work for some great companies that were headquartered in Minnesota, like 3M and SmartThings. Getting the experience at these companies helped me grow and transition to a fully-remote position. Now I am lucky to be able to work from home or escape to a cabin and work from the lake. The hardest part of working in Minnesota for me was the concentration of tech jobs in downtown Minneapolis or other places that are a far commute from my house in the northeast suburbs. This always felt like it hindered my job opportunities since long commutes impact my work-life balance.
11. Anything else you’d like to add for new or potential Engineering Managers?
The power of an Engineering Manager is in the “multiplier effect.” You trade your own single set of skills for a team of people all working together, hopefully at a high level. To make this happen, you need to delegate responsibilities to the people on your team because the more responsibilities your team can take on, the less you will be a bottleneck. Trust your team!