Most professionals are familiar with the Peter Principle—the idea that companies promote employees based on their performance in their current role, rather than on their ability to succeed in the new role. Employees then stop being promoted once they can no longer perform effectively, and "managers rise to the level of their incompetence," as the principle states.
Navigating a career path can be particularly difficult for technical workers like developers, who likely enter the field due to a passion for coding work, more so than for leading others, but want to continue to grow professionally. Here are 10 questions that developers should ask themselves when considering if a move to a management position is right for them.
SEE: IT Hiring Kit: Programmer (Tech Pro Research)
1. Are you okay giving up coding as your primary responsibility?
Many developers base their self-worth on their craftsmanship in software development, said Adam C. Conrad, software consultant and founder of Anon Consulting.
"By switching to management, you're acting as a force multiplier to improve the effectiveness of everyone around you. Doing that usually means not coding but helping others code better," Conrad said. While it's tempting to want to show your subordinates how to do things, "you have to be willing to relinquish control by teaching, mentoring, and allowing your team to make mistakes and figure things out under your guidance, with the hope that this struggle will pay dividends in the future," he added. "If you can't cope with that necessary transition, management may not be right for you."
People often think that being a manager means they will have more control, said Steve Banfield, CEO of Screenlife Games. "In fact they will need to delegate more and give up control," he added. "Some people adjust well to that, others do not."
2. Do you want to become manager because you want to climb the ladder in the company?
If the answer is yes, that may be the wrong motivation to take a new role, said Narendran Thiagarajan, cofounder and CTO of FloydHub.
"When developers I manage want to become managers themselves this is the first question I ask them," Thiagarajan said. "I ask them to see how they grow as an individual contributor by mentoring other engineers and take up more technical leadership in the company. All companies should have two ladders—one for individual contributors and one for managers."
Developers should also consider if they are being promoted because of technical achievement, or because they have been mentored and prepared to lead, said Rob Fry, vice president of engineering at JASK.
"The best chance of success when taking over a leadership position is when you've been 'taught the ropes' before embarking on a career-changing course," Fry said. "Too many times I've seen people get promoted because of technical success and then failed because they didn't have the right tools and experience to make that leap successful. Mentoring after promotion should be something you should ask about regardless of the situation, but especially if you're new to a leadership role."
SEE: Job description: Java developer (Tech Pro Research)
3. Are you okay having days where you personally don't get any work done, but unblock your reports so that as a team you move forward?
Most developers who become managers underestimate the amount of time that will be spent planning, setting up strategy, and holding meetings, leaving very little time to do hands-on work themselves, Thiagarajan said. "If they want to continue have large amount to time to do hands-on work, they are probably not a good fit for management," he added.
4. As a developer, do you spend more time thinking about the effect your work will have on the business and its users, or about the efficiency and technicalities of your code?
Managers must make compromises on the technical side in favor of the business, said Uri Abramsom, co-owner of Overdraft Apps. "This usually means more patches and less focus on efficiency in order to meet the business deadline," Abramsom said. "If you're thinking to yourself, 'What can be more important than good code?' consider staying on the technical side."
5. Are you a strong communicator?
Managers need to spend their days talking to different people, Ambramsom said. "Being a developer, you usually don't spend too much time talking to people throughout your work week," he added. "If you consider this to be a benefit, then moving on to management will be tough. When communication is key, you need to be sure you're ready for such a change in job description."
6. Do you like handling other people's problems?
There is sometimes a misconception that a management role is a natural progression from a developer role, but this is not the case, said Mark Cook, digital marketing director of Candour. "Moving into a management role does not mean your job will just be having final say on processes or designing how systems are implemented," Cook said. "A lot of your time is going to be spent on people management. That means managing people's fears, anxieties, aspirations, conflicts and demands. Naturally, this means taking less time on 'hands on' technical roles—is that something you really want to do?"
Managing developers is difficult to do as a part-time job, especially if you have trouble prioritizing your team members and their challenges, said Robby Russell, vice president of engineering at Planet Argon. "When you were a programmer first, it's tough to not get absorbed in code," he added. "Listening and learning from your team has to be the top priority."
Management involves lots of stopping and going, and always helping others, said Cody Swann, CEO of Gunner Technology. "Most days your time is spent putting out fires with very little tangible to show for it," he added.
SEE: Hiring kit: Python developer (Tech Pro Research)
7. Can you delegate?
The inclination for many workers is to just do something yourself, but a good manager delegates all responsibilities that someone else can do, Swann said.
Managers must be able to step back and guide team members through problem solving and provide oversight, rather than just telling them how to fix the issue, said Tammie Childs, co-founder of Branded Bridge Line.
"Developers work best when they are given creative freedom over the solutions they are responsible for creating," Childs said. "Everyone has a different approach to solving technical problems, so if you as a manager can't step back and guide, your team members will become unfulfilled in their jobs."
8. Are you prepared to advocate for the business?
Business needs are often at odds with the needs of a developer, Childs said. "Developers, when given the choice, prefer to do things right. However, in many cases the business may require things be done expeditiously or inexpensively," she added. "Your developer mind will war against short cuts, but as a manager, you have to be able to find a good balance between providing the right solution and supporting the company's business goals."
9. Do you know how to spot talented developers amongst hundreds of applicants? And, can you manage my peers effectively?
Hiring good developers can be an exceptional challenge, said David Bishop, CTO of LovetheSales.com. "In my experience, for every great developer that applies for a role there will be 50 mediocre ones," Bishop said. "The process of weeding out the great ones is very time consuming and can be frustrating. The additional stress of hiring the wrong developer is getting someone up to speed in a role that really doesn't suit them. For your own benefit, you would need to know early on, what makes a good developer, or you will spend a lot of time training average ones."
If you are moving up the ladder in your current organization, you should consider how relationships with co-workers may change if you are now their manager, said Fry.
"If you are being asked to lead in this situation, take the time to understand the ramifications of what it could potentially mean," Fry said. "Talk to your leadership team, HR, and external mentors who have had this experience to understand the challenges and pitfalls of managing the people who were your peers."
10. Will you be comfortable having your performance measured based on the performance of your team?
In engineering, individual contributors are measured on their individual merits, but for managers, performance is measured based on the execution of their direct reports, Fry said. "If an engineering org is not performing it is the fault of leadership, not necessarily the engineers," he added. "Can you shift from being responsible for your own work to being responsible for an entire team (or organization's) work? Before taking on a management role, ask yourself how and what is being measured to show your effectiveness as a leader, and are you capable of achieving what is expected?"