February 24, 2020 · #cloud #distributed-teams #linux #remote
Hello! What's your background and what do you do?
I currently work as the Engineering Manager of the Ubuntu Server team at Canonical. The team is 100% remote across three continents, six countries, and seven time-zones. The team is broken into two squads: the first is focused on the packaging of software found in Ubuntu Server. The second is a software development team that focuses on the cloud-init, curtin, and Ubuntu Advantage software projects.
Previous to Canonical, I worked at Hewlett Packard where I worked to produce HP’s own Debian derivative as well as Linux enablement and performance on new hardware platforms. I completed my master’s degree in Computer Science at the Georgia Institute of Technology with a focus in Interactive Intelligence. I have a Bachelors of Arts and Sciences in Economics and Applied Computing Technology from Colorado State University.
How was your transition from software development to management like?
I had the benefit of already being on the team before becoming the manager. This generally resulted in a smooth transition. I already knew my team well and I was able to spend some time with the previous manager to ensure a focused and streamlined transition.
We were at a week-long face-to-face sprint when we made the change official. This made it incredibly helpful to get up to speed with the team’s priorities and outstanding issues. I made time to meet with each person to ask about possible changes the team may need to make, open concerns, and find what is working and what was not.
The team had many established engineering processes and practices that made leading easier. Having these in place allowed my focus to not on how we do things, but what we do.
What does your day-to-day work look like, and what motivates you to do it every day?
I have eleven tremendous engineers who deeply care and passionately own the work they do. I joined Canonical at the opportunity to work and learn from engineers driving a multitude of impressive projects. To have the opportunity to lead that team is immensely rewarding.
As my team is 100% remote, I start my day with a standup with each squad. This is an essential time as it may be the only time I talk to some members of the team that day. To get some additional time with team members, I have weekly or bi-weekly 1-1s. Here I try to start with anything they have on their mind so I can listen to concerns or issues. I have my own items I also like to ensure are getting covered around priorities, planning, or future development.
I then try to get my cross-team, 1-1s, or partner meetings scheduled. That way I have time to focus on deeper, focused work if possible. This is when I can organize projects, review specs, plan for the next cycle, review hiring, or marketing material.
What are the biggest challenges you've faced so far? What did you do to overcome them?
It is easy to get caught up with changing priorities, last minute high priority issues, and the breadth of questions that come your way. I found myself taking on more and more stress and not taking care of myself as much. To resolve this, I set better boundaries and ensured I got the proper exercise to keep myself fresh.
What has been the biggest surprise so far? Something you didn't expect?
In greater detail than before, I have had to ensure I know other team’s current and future initiatives, support matrices, and how a variety of products are consumed and interact together. There are a lot of moving parts, many features, and a lot of historical context on other teams that I did not have at first. The importance of this knowledge is incredibly apparent to effectively represent your team when dealing with high-level stakeholders.
What's the best advice you've received about being a manager?
You must have a passion for your people first and foremost: listen to concerns and issues in 1-1s, ensure they know what is expected, and allow them to stay focused and free from distractions. Fundamentally it is your team members who are delivering the work and it is up to you to ensure they are given the help and support they need.
What do you tell developers who are considering making the switch or new to the role?
First, if you are enjoying writing new features, digging into interesting bugs, and supporting technology I implore you to continue to do that. If you are interested in making a change or wanting to step up into greater leadership roles, ask and seek out other opportunities internally or externally that would let you take on more. Do not use becoming a manager as a way to seek change.
Next, realize that becoming a manager is a very different role. It truly is a change in career. The biggest changes:
Spend more time building and maintaining relationships with your team and others via meetings and fewer opportunities being heads down. A lot more meetings and actively listening in 1-1s is essential to success.
You are now dependent on your team to accomplish the work and must delegate as work as it comes in. This can be harder than it sounds: you may want to tackle things yourself, which you should not. Or you may not want to interrupt already busy developers, but you often need to.
And of course more HR work including performance reviews, training, hiring, and even firing. These are essential to the role, but can also be tiring after a day of meetings and fire fighting.
Finally, talk to your manager or other managers and learn as much as you can. Find a mentor who has been in the role before. Ask questions about different scenarios that they have had to deal with and consider how you would react. Consider how you would handle situations that come up on your team if you were the manager. Exciting? Keep considering the change, learn, and ask more. Not interesting? Keep doing what you are doing.
Final call to action! Where can we go to learn more about you?
If anyone has questions about engineering management, the transition, or other questions please feel free to reach out. The easiest method would be to find me on LinkedIn and message me there. Otherwise, I blog about things I am working on from time-to-time.
If you are interested in working on a 100% remote engineering team Canonical is hiring! In fact, I am hiring for Ubuntu Server right now. If you are passionate about development or management, enjoy traveling around the world, and want to help Open Source projects check out our open roles!