September 14, 2020

Making the Transition From a Software Developer to a Manager

By Wes Winham

Editor’s Note: This blog is a takeaway from our podcast, Scaling Software Teams. In our interview with Roger Deetz, VP of Engineering at Springbuk, we discussed how he made the transition from a developer to a software team manager. For a full write-up on this episode, check out this blog. You can subscribe to our podcast on iTunes, Google Play, or wherever you get your podcasts.

Roger Deetz is the textbook definition of a software leader. He’s led transformative projects for large organizations throughout his career, and he’s now the VP of Engineering for a fast-growth SaaS company in Indianapolis.

Early in his career, however, Roger never saw himself going down this path. He bristled at the idea of management, wanting to avoid wasting time buried in his email so that he could prioritize creating—a sentiment familiar to many software engineers.

“When you’re an individual contributor and you see your manager, you usually see the nuts and bolts of it,” Roger told us. “You’re approving vacation and having one-to-one conversations. You might be aware of [other responsibilities], like budget, but the hard parts of the job are communicating with people, rallying them around a cause, making sure they’re happy and developing, and getting better.”

In time, however, he would come to discover that there was much to the world of management that he found not just tolerable, but challenging, invigorating, and, ultimately, something he would become passionate about.

So, how did he make this transition? Here are some of our key takeaways from our conversation:

(Listen to the full conversation here)

Understand Your Psychological Barriers To Management

Arguably the most important part of the transition for Roger was self-awareness. Roger held some very deep psychological barriers to management, all of which made sense in context.

“I was very explicit on the surface about not wanting to do it,” Roger said. “I viewed myself, at least externally, as a deep technical expert, an architect, an engineer. I [didn’t] want to be a manager.”

“I’m coding,” he continues, “I’m doing the real work, and management is ‘the man’ keeping me down.”

Software developers judge their value to the organization by writing code and delivering features, and through that prism, a manager doesn’t appear very valuable.

As he learned later in his career, however, that attitude is wrong and self-defeating. Management is an essential task for teams to operate successfully, but if it’s viewed through the lens of software output, it will be undervalued because the measures of success change.

Still, this can be a hard mindset shift for first-time managers. Because they’re not writing code, they may feel like nothing is getting done.

Instead, they find themselves busy in meetings, reading documents, and having key conversations with their team. While this is all important work, it feels less productive to engineers who have spent a decade being judged on their output.

When you pivot to a management role, then, it’s imperative that your mental model for success changes as well. Instead of judging yourself on output, ask these questions:

  • Is my team able to produce at a high-level?
  • Do they have the support they need to get their jobs done?
  • Do they have the relationships with other departments and stakeholders required to accomplish key objectives?
  • Do they have the ability to stay focused and spend the appropriate amount of time coding?
  • Are they growing their capabilities?
  • Are they happy?

By thinking of yourself as a facilitator for a team of developers, dedicated to helping them do their best work, you can undo some of the psychological barriers holding you back from pursuing a leadership role.

Get Experience Managing Software Teams Before You’re Managing a Software Team

After Roger changed his mindset, he realized that he had actually been acting in a leadership capacity for a while.

“I’ve actually been doing this on my own for a long time and not really acknowledging it,” he said, noting that on multiple projects, he took the lead to ensure both that deadlines were met, and that his teammates were succeeding.

“Once I officially acknowledged that, it set me on a clear path.”

Roger began leaning into these natural urges and started to develop his management style, even before he had any role power within his organization. This decision dramatically accelerated his professional transformation.

“When you have people that don’t report to you in the org-chart, the only way you can influence them is by getting them to buy into something, and do it for their own reasons,” he explained.

This led to Roger developing an empathetic, people-driven management style, and became one of his largest assets once he eventually became a formal manager. Now, he has both role power and relationship power to help motivate his team, making him far more effective.

“The essence of leadership is achieving results through others,” Roger says, “The only way you can achieve results through others when you don’t have that boss card is to get them to want to do it.”

Embrace The Craft Of Software Team Management

Once Roger had transitioned into a formal leadership role, he was shocked to learn how much went into great management. It’s not just approving PTO and having one-on-one meetings – there’s a lot of complexity involved in management.

After all, people are complex, and the more of them you have in a room at any given time, the more challenging your role is going to be.

“It’s actually really hard to do this job,” Roger told us. But the challenge is a large part of what makes the job appealing. Every team and project is different, meaning that as a team leader, you’re constantly learning, changing, and evolving.

The Advice Roger Gives Every New Software Leader:

“This is a brand new job. Everything you did before is helpful, and don’t forget all that stuff, but the job you’re doing now is a completely different job.”

Conclusion: Transitioning Into a Software Leadership Role Is Mostly Mental

If you’re currently transitioning from a software developer to a software manager or engineering leader, it’s important that you’re mindful of the challenges ahead. Your role is about to get far more complex, but the largest challenges likely exist between your ears.

Here are some tips to help you mentally prepare for your leadership role:

  • Reflect on Your Big-Picture Goals to Break Down Mental Barriers: You got into development because you like to build things. Being a manager allows you to build bigger, better things by crafting teams instead of crafting code.
  • Step Up to the Plate on Key Projects to Get Practice: If you’re not in a leadership role today, find opportunities to lead a project or initiative. It will give you early practice, and will also teach you valuable skills to give you a leg up when you take over a management position down the line.
  • Ultimately, Treat Your Employees How You’d Like to be Treated: The most successful managers are the ones who treat their teams well, freeing them up to deliver the best work possible. Keep your focus there, and the rest will work out.

Are you planning on growing your software team this year?

If so, Woven could be a great solution to help you hire better developers. Request a demo of our software to learn more, and subscribe to the Scaling Software Teams podcast to receive discussions with high-growth software leaders every Monday.