As everyone mulls their New Year’s resolutions for 2021, many developers will be thinking about the next step in their career, whether that involves mastering a new language or finally taking that move into management.
Unlike many professions, software engineers don’t have to move into management to progress in their career. There are principal and distinguished engineers as well as architecture and CTO career paths to pursue for developers who are fully committed to their craft and want to stay hands-on with the technology.
But if you are interested in management, your key responsibilities become more focused on the team than your personal expertise or output. Developer managers are primarily responsible for hiring, retaining, and nurturing talent; translating and balancing incoming requests; setting achievable and repeatable execution goals; and managing technical debt.
Here are some of the key things you should consider when mulling a move into management—from those who have been there, seen it, and done it.
1. Know what you are getting yourself into
In software engineering specifically, most managers don’t see the move into management as a direct upward step on the career ladder but rather as a parallel track that requires a very different set of skills and priorities. And they’re right to view it that way.
“Engineering management is an … alternate career track to software engineering. Somehow, in our heads, we have this illusion that once you’ve mastered the technical skills required for your roles and you have been senior engineers for a few years, the next step for you is to become an engineering manager,” Isabel Nyo, a senior software engineering manager at Atlassian, writes on Medium.
For Michael Coté, a self-taught developer with a philosophy degree from the University of Texas at Austin, “becoming a developer manager or higher means learning an entirely new job. Your knowledge of programming and the culture of programmers are valuable tools but that is not what your job will be any more.”
This can be quite the adjustment for people who have spent most of their lives learning a craft, and realizing that you won’t have your hand in the code base as much is one of the hardest lessons new developer managers will learn.
That being said, good developer managers are still responsible for the quality of code their team is putting out. “You might not sit and churn out as much code, but you have to stay in touch enough to sanity check decisions being made,” says Dan Taylor, head of engineering at Trainline.
2. Understand the common routes into management
Many developers find themselves thrust into a management role after they establish themselves internally as an expert in a specific area, maybe they became the “tech lead” and have been asked to build a team around that technology.
This is what happened to Nick Caldwell, currently the VP of engineering at Twitter, who made his first move into management while working for Microsoft, where he had developed a deep expertise in natural language processing (NLP) and the spell checker tool embedded in the Microsoft Office applications.
But this expertise can lead to some pitfalls. “They put you in these positions normally because of technical strength, and the No. 1 mistake I see is you get the job as a strong technologist so you [feel the] need to make the team copies of you. I made that mistake,” he says.
Now Caldwell has learned that “management is about recognizing your limitations and your ability to bring together a team.”
Another common route into management is more organic, where senior developers find themselves leaning more towards managing people or engaging with the wider business than just their engineering peers.
That’s the route being taken by Jacq Train, engineering team lead at the technology arm of British online grocery technology company Ocado Technology. “What I really enjoyed was mentoring more junior engineers and, as I grew into a senior role, collaborating across squads, translating requirements to teams, and communicating,” she says.
3. Try to gain a variety of experience
Expanding your horizons beyond the engineering department can be a key step on the road to management.
Dan Maunder, VP of international engineering at credit rating firm Credit Karma, has had a long career as a .NET specialist, primarily in the fintech space, but it was stint consulting for a variety of retail businesses between 2008 and 2010 where he became interested in management.
“Consultancy helped me a lot as I was put in front of lots of different clients,” he says. “My bread and butter is evolution and understanding an organization quickly. … I enjoy melding requirements and people to reach outcomes.”
Sergio Clara, R&D team leader at staff management software maker Sirenum, started his career at Siemens, where he quickly rose through the ranks as a generalist who was prepared to call out issues and propose solutions. He later took these qualities into a consulting role.
“The key was understanding requirements and problems and speaking to people who are not technical and translating that to your team. Being a consultant helped me hone that skill,” he says.
4. Develop some key management skills first
Engineering managers have a very different set of key skills than a member of a dev team. Managers are generally judged on the happiness and performance of their team and not on their personal code contributions.
In her personal blog. Atlassian’s Nyo outlines 10 “horizontally related skills and attributes that engineering managers at tech companies need.” These include bread-and-butter capabilities like finance and workforce analytics, but they also apply to more ephemeral skills like adaptability and entrepreneurship.
Beyond caring for your team members and being able to drive them toward predictable outcomes and quality levels, Twitter’s Caldwell sees the gold-star managers as having “some higher order insights. They aren’t just executing, they have some understanding of the business and strategy to why things get done and how the company is approaching things.”
Then there is the culture-building aspect of the job. While Maunder was working at rival credit rating agency Experian, he found a mentor in Damian Hughes, a professor in organizational psychology, who told him, “You only have one role as a leader: to create an organisation where people flourish. The rest is pretty easy.”
To achieve this, Maunder has focused on building a safe space in his teams, where no one feels silly asking questions. “That can be difficult in tech as there is a lot of introversion, so create that environment where people enjoy coming to work and understand what they are on the hook for, then the rest is plain sailing.”
To help develop these skills, a set of books came up time and again during InfoWorld’s conversations with developer managers, handily compiled by Ovidiu Bute at Free Code Camp.
5. Master communication
Without doubt, the most important skill for leaders of all kinds is communication.
“I find communication with your team the most important, so that they understand what you say is credible, they believe in what you say and are trying to achieve. To be a leader, people need to want to follow you but also your peer group needs to come on the journey too,” Maunder says. “Like many engineers, I was bad with communication when I was more hands-on. But you learn.”
For VMware’s Coté, good managers have a solid grasp of priorities and are skilled at balancing business requirements with the technical viability of that work. “Helping communicate that is really useful,” he says.
“That ability to empathize with people and talk at the technical and nontechnical level is key. At the end, you are managing people, and they don’t come with a manual and so you learn, sometimes the hard way by saying something wrong, but that is important experience,” says Sireneum’s Clara.
6. Set guardrails
Another key skill for engineering managers is to set guardrails for their engineers and curb their natural inclination to build rather than buy solutions or have their head turned by shiny new technology.
“A manager recently told me to be the bumper rails in a bowling alley, so the team can knock down pins all day and not worry about the gutter,” says Ocado Technology’s Train. “That balance is key. We can’t always be gold-plating.”
7. Be visible
If you are keen to get onto the management track, it isn’t always enough to display these traits and capabilities in your team—you also have to get the attention of the right people at your organization.
“The way you advance is for the people who are advancing you to know you exist,” Coté says. “It’s good to market yourself and encourage your team to market themselves, too. Give a talk or document and present something. Good managers are actively encouraging the people on their team to talk about what they do.”
Shadae Holmes, an engineer and the UI team lead at software automation specialist Chef, recognized that she had to “do more things with visibility” as she continues to move towards management roles in her career. “It wasn’t enough to just be in my own lane of technology to convey that I wanted to do more technological leadership.”
Being highly communicative in person and via digital channels is important. Giving feedback, joining new committees and groups, identifying mentors, and putting yourself in a position to understand the wider business are all important ways to gain that visibility.