Switching from Engineering to Management

Switching from Engineering to Management

Every software engineer must choose between a career in engineering and a career in management at some point in their career. Both options have advantages and disadvantages.

I've been leading technical teams for a long time and eventually became the Engineering Manager in a small startup a few months ago, and that change made me work harder than ever before; suddenly, the things I needed to do didn't fit on a single to-do list, and the list kept growing as the weeks passed. I finally managed to organise my work after some time. After considerable reflection, I discovered some points that would have made my life easier if I had been aware of them from the outset of my team leadership even before this employment.

Advancing within the same organisation

If you're moving the same team to become their manager, you must first ensure that they appreciate you as a developer.

transition-from-engineer-to-manager-leading-teammates.png

This is critical because if you don't, your teammates will question your leadership and there will be distrust between you and the team. Remember how your boss used to make strange suggestions to increase the team's efficiency? The more respect you have before becoming a manager, the less friction you will have with your ideas that are not universally accepted.

When you become their boss, your friendship with them will suffer

This issue has multiple facets.

  • The first is that members of your team may perceive your friendship as a source of prejudice toward that person. They will assume that if a friend supports you, it is not only because it is objectively reasonable, but also out of friendship.

  • Another issue is that you will have to have uncomfortable conversations with that person at some point - no matter how much you support your friend, everyone makes errors. And if you don't have the difficult conversation, people will regard it as unjust.

Getting Rid of Habits

transition-from-engineer-to-manager-misconceptions.png Here are some of the habits I needed to break as I took on management responsibilities:

Want to achieve everything on one's own

Of course, you can improve. You can, of course, do it faster. However, your time is limited, and other more important duties must be prioritised. Learn to delegate and to avoid looking over the shoulder of the person to whom you are delegating.

Assume they will complete the project on schedule and to your standards. Only after the person has failed to deliver should you discuss your standards, how quickly you anticipate the duties to be completed, and the quality of the results.

Desire to be the expert

You can't know everything, and it's fine to respond to a strange technical question with "I don't know." The crucial thing is that you can link the person who asked the question with the person who has the answer. Or, at the very least, point them in the direction of the solution.

Closing the door and working alone

Unfortunately, you will no longer be able to work alone. The entire procedure of receiving a task, performing the assignment, and submitting the project for evaluation has been eliminated.

You will need to communicate frequently with your developers. You will need to communicate with your Directors frequently. Throughout the day, you will receive numerous phone calls and emails. That's just the way it is, and there's no getting around it.

People will start contacting your engineers directly and annoying them with their products unless you keep a healthy environment bubble around them. These distractions will irritate your team.

Concerned simply with your portion of the work

"My module works, so it's not my problem," or something along those lines, should now be off the table. Your responsibility now is the company's success, so you can't say you did your bit and everything else is irrelevant. It is significant.

If another department is slowing down your team or department, it is suddenly your concern. If there is a stumbling barrier outside of the organisation, such as with third-party providers, you must resolve it.

Improving Habits

transition-from-engineer-to-manager-skills.png There were also things I needed to learn and improve on after moving into management. Here are some of the things I believe are critical:

Communication

Your ability to communicate will rise tenfold. You'll need to recruit some help. You will need to communicate with others in order to increase their productivity, discuss their concerns, and so on. In any management job, soft skills are essential.

Managing Stress

Think again if you thought you were stressed because you couldn't solve a problem or complete enough work during a sprint. You will now act as a shield for your developers, so anything bad that happens to them will be directed at you.

You will be under pressure from various stakeholders, each of whom believes that the thing they want is the most important. Instead of one manager telling you that you need to work faster, you will have several individuals demanding different things from you and expecting them to be delivered soon.

You must learn how to deal with stress.

Decision Making

Every decision you make from now on will most likely affect your entire team and the organisation as a whole. You must consider all of the trade-offs you are making.

Rewriting a Monolith into a collection of Microservices, for example, is usually a trade-off between scalability, development cost, complexity, performance, and maintenance.

Leaders are frequently responsible for making difficult decisions!

Capability to learn and adapt to new situations

New products and programming approaches are continually being introduced to the market. To stay ahead of the curve, it is vital to be open and absorb as much information as possible.

It is critical for you to have a comprehensive knowledge of numerous subjects as a decision-maker. The only way to do so is to never stop learning.

Accept that you will be wrong

It is acceptable to be proven incorrect. Being incorrect means that the offered answer is superior to yours, which is ultimately beneficial to the firm. Please do not harbour a grudge towards someone with whom you disagree, as this will reduce their willingness to converse with you in the future. Only through debate will the best solution be discovered.

Concern for minor details

If you are the department head, you must be the one who enforces standards and is concerned with documentation, workflow, technical debt, and so on.

Many developers dislike writing tests, proper git commit messages, etc; it is now your obligation to ensure that all of the "hygiene" tasks are completed.

Advantages of Working in Management

You have an impact on the company's trajectory

You are now a driving force in the corporation, and you get to decide, or at least vote on, some aspects of the plan. Driving the technical vision is a highly satisfying feeling, and the smaller the company, the greater the effect you may have.

Experience!

It's a terrific opportunity to learn new things that were previously unfathomable to you. As Software Developers, we tend to focus on single issues or parts of features rather than broadening our perspectives. However, transitioning from development to management is a completely new subject with a plethora of new concepts to grasp.

Did you find this article valuable?

Support Nitish Kumar by becoming a sponsor. Any amount is appreciated!