Is it worth it for a programmer to take on a management role? [talk by Evgeni Vintik]
Is it worth it for a programmer to take on a management role?
[This post consists of the takeaways from a talk by Evgeni Vintik, VP of Engineering, ObjectStyle, at a weekly Firstner Meetup organized by Kraftblick in Minsk, Belarus.]
The world would be a better place if everyone were doing what they’re predisposed to do. If you are a programmer and are having doubts about taking up a manager’s position, this post may help you decide if you’re cut out for the role and what to expect once you dive in.
Dispelling a few myths about management
A programmer who’s never been a manager views this role through their programmer’s eyes. Some say that programmers make poor managers.
MYTH 1: PROGRAMMERS MAKE POOR MANAGERS
You may have worked with a team lead who doesn’t know how to manage people, but that doesn’t mean programmers are inherently incapable of becoming good managers. Most likely, that person was in the wrong place for what they are predisposed to do.
Programmers can be fantastic managers because they take a system approach to learning. Plus, they have the necessary technical expertise. It’s much easier for a senior engineer to master management basics than it is for an MBA to acquire the necessary programming skills.
Only a good engineer can manage a team of engineers well.
If you’re not an engineer and are in charge of a software development team, there’s a risk of not being accepted by the team.
MYTH 2: TEAM LEAD = SENIOR ENGINEER+
For many senior software engineers (developers, DevOps, QA engineers), becoming a team lead is the next logical step in their career. And few realize that it’s more of a pivot than an upgrade, really. Your new management role will require you to develop some new skills.
What are these management skills that you’ll need to acquire? It’s time management. It’s handling conflicts (although you will probably learn to welcome them, because conflicts open up problems that would otherwise stay undetected.) It’s giving negative feedback on people’s work, while preserving their faith in their skills. It’s also saying “no” more often.
At first (about a year into your new management role), you will have an uneasy feeling of being back at square one. You will feel like a “junior programmer” once again.
If you don’t feel massively incompetent in the beginning, it’s a red flag. It means you are not doing your job as a manager.
Evgeni says that it’s absolutely normal to feel like a rookie in the beginning. Just try to master management like any other technical discipline. Learn, listen, and look up to the experts in the field.
MYTH 3: MANAGERS MAKE MORE MONEY
While this is often true, this could also be NOT true in a situation when a senior-developer-turned-manager continues to act the way they used to act when they were a senior developer. Then, money could be a trap. As a team lead, this hapless manager will get used to making more money, so they won’t be willing to “downgrade” and go back to programming. At the same time, this person will not advance as a manager, because they’re clearly not very good at management.
That said, the pay raise that the mediocre manager gets will eventually be surpassed by multiple raises that a senior developer can get as they gain more years of experience advancing along the engineering track.
What to expect as a manager
Here, Evgeni talks from experience and mentions some consequences of leading a team or a department. Here is what you can expect:
- Expect to feel tired in the beginning.It may be really exhausting to fulfill your managerial responsibilities IN ADDITION to writing code and making technical decisions, especially when you’re just starting out and there are many things you don’t know yet (as a manager).
- Expect to switch context A LOT.As a programmer, you may be not used to being bombarded by matters that need urgent attention. Brushing them off is not an option. You need to prioritize and address them in a reasonable time frame. If you don’t, you risk becoming a bottleneck in someone else’s work. This will eventually leave people frustrated.
- Expect to see no immediate results of your work.There won’t be predictable dopamine boosts like the ones you used to get when you saw all greens on a unit test or closed a task. The results of your management work may be invisible. Your actions may have a postponed effect. It helps to work out success metrics for yourself to get at least some sense of accomplishment.
- Expect success/failure to bear your name.Some things may be outside of your control. But people will still associate project/product success or failure with your name. As they say, with great power comes great responsibility. That is why you get paid more – because you’re expected to take responsibility.
- Expect a change in future career choices.Once you move on to a new level (the manager’s level), the number of available job positions shrinks exponentially. Fewer recruiters reach out to you on LinkedIn. Your standards get higher, too, as your pay and your lifestyle upgrade. So it may be harder to make the next career move. It could also raise eyebrows if you change jobs too soon or too often (for example, more frequently than once every three years).
Why it’s still worth it
- You will understand the business side much better. Sometimes, a solution which you think is really good from the technical POV may not be the best from a business POV. Once you have more context to the developer’s work, it will make you a better developer, too (in case you ever decide to go back to programming).
- The people/time management skills you acquire will be useful if you ever start a company of your own or become a Chief Architect or CTO. These roles are closer to the business side.
- Last but not least, the role could give you a much bigger sense of fulfillment. You may start feeling that some of your talents had been dormant and untapped when you were an engineer.
Summing it up
When deciding whether you should become a manager, think about what you need (from life) in a larger context. Some freelancers would be damned if they became managers. They’re used to flexible schedules and the ease of travel that freelance work gives. At the same time, people who are used to working from 9 to 5 may feel totally sold out to their jobs when forced to work long/odd hours in the management position.
But if you really enjoy handling people and conflicts, learning new things, and testing your limits, at least trying on the manager’s hat could be beneficial to you.
Who is Evgeni Vintik?
In his career, Evgeni Vintik went from a hands-on polyglot programmer, to a team lead, to VP of Engineering at ObjectStyle. Two years ago, he was also appointed Director of ObjectStyle Poland. Ever since he’s switched to the management role, Evgeni has been accumulating insights for aspiring IT managers, which he shares in the above post.
Connect with Evgeni on LinkedIn or find him on Telegram.
Continuous Delivery, the ObjectStyle Way: Interview with DevOps Aficionado Evgeni VintikRead Article
with ObjectStyleSee our work