Some workers start their career in software development only to discover that they want to manage a development team. Traditionally, this is the next logical step in professional growth. However, it's a significant shift from being a developer to managing them.
"When you go from being the doer to being the manager, nobody tells you that you just changed careers," said Jennifer Selby Long of Selby Group, an executive coaching firm based in Berkeley, Calif. "It looks as if you're just going up in your career, but it's a completely different job."
Those who want to transition from developer to manager should contemplate where their passion lies and what types of problems they want to solve, according to Selby Long.
"If your passion is really around the problems that are solved by technology, the first question to ask yourself is, 'Might I be just as interested in problems that involve human beings as the challenge?'" she illustrated. "Lots of people just aren't interested in that problem set. For people who go into management and stay in it, that problem set becomes very intriguing early on."
Tip #1: Build a safety net
A safe way to change from programmer to manager is to use a trial period during which you and your manager determine whether you're right for the job. This provides would-be managers with a sense of security, said James Stanier, director of engineering at e-commerce platform Shopify in Ottawa, and author of Become an Effective Software Engineering Manager: How to Be the Leader Your Development Team Needs.
"There's often the worry that it's a one-way gate and you can never come back, and if you don't like it or can't do it very well, then you get fired in the worst case," he said. "It is really helpful upfront, making it safe, because it can be scary otherwise."
Gabe Monroy, a former software developer and current chief product officer at cloud services provider Digital Ocean, likes to give his team members what he calls a "trial run" in the form of an informal mentoring position.
"Oftentimes mentoring a more junior employee on your staff can be a great entry point into the management model, where you get a taste for what it looks like to take some accountability for someone's career progression," he said.
This helps gauge from two perspectives whether there is a fit for a management role without a formal commitment to a management track. "If it turns out that you like mentorship, and your mentee likes your style, that can be a great indicator that you're cut out for management," Monroy said.
Tip #2: Prepare to focus on people
A software developer's performance is measured by the quality of code they write, how much they can output, and the products that ship, but a manager's performance is based on the team's overall performance, Stanier pointed out. This means that the manager spends the bulk of their time ensuring team members have the resources and support needed to be successful.
That's not to say that managers are barred from participating in the hands-on work, such as handling tasks for a product in UX, devising road maps, and brainstorming on future projects, Stanier said. But a large part of the manager's job involves dealing with people over projects. For example, a manager might need to convince someone who is thinking about quitting to stay or listen to and reassure an individual going through a difficult life experience. It can be emotionally draining at times.
"Sometimes you can feel like you're being completely useless and doing nothing, when in reality these are all things that you were doing behind the scenes to make a team happy and productive," Stanier said.
Tip #3: Strengthen prioritization and communication skills
An effective manager must remain focused and ensure that teams work on the right tasks and objectives at the right time. Thus, knowing how to prioritize is critical.
"[One skill] I think that's most underrated is prioritization and the ability to say 'no' or 'not yet,'" Monroy said. "If someone struggles with focus and is constantly distracted by the next new shiny object, that's often a really bad quality in management."
Here's one great way to improve your prioritization skills: At the start of each week, write down the top five tasks that would most improve your team's productivity. Managers who do this quickly realize that investing time in lower-value tasks isn't worth the effort. Instead, to be more valuable, managers should concentrate on higher-value tasks.
In a hybrid or remote environment where people work asynchronously, solid communication skills are a must, especially in writing. Stanier said he spends a lot of time keeping VPs informed on what's happening and checking in with direct reports and their teams on a regular basis.
"So much time is spent on the keyboard as a manager -- moving information around and brokering information -- so writing is critical," he said.
One way to improve your communication skills is to set strict goals about how to respond to emails and messages. New managers quickly realize that a fast response is often more valuable than one that is meticulously thought out but delayed.
Tip #4: Embrace the manager's role in the larger ecosystem
Another fundamental change from the role of programmer to manager is a broader notion of being on a team. Managers are not only responsible for the team that reports to them but also are now part of a broader managerial group with the corporation.
To be effective, managers must build and nurture relationships with other managers throughout the organization. This regular interaction with peers ensures individual teams' success by identifying the following:
- problems one team faces that other teams have already solved;
- duplicated work efforts across siloed projects; and
- technology experts who could transfer knowledge across teams.
These types of relationships are particularly important in Agile- and Scrum-based development environments, where self-managed, cross-functional teams work independently and rarely interact with other developers in the same organization.
"You've probably doubled the number of relationships, at a minimum, that are important to build and maintain," Selby Long said.
Tip #5: Being a manager isn't for everyone -- that's OK
Making the transition from programming to management isn't for everyone. Many organizations have individual contributor tracks for advancement, so people shouldn't feel forced to pursue a management role to further their careers, Stanier said.
"If you try out management for a bit and you just don't like it, then that's cool," he said. "It's not for everybody."