About 6 months after I became a manager I began to really struggle. I wasn't struggling with my work load or with performance. Those were both going well. I wasn't having problems with my developers and I was getting lots of good coaching from my boss. From the outside it looked like things were going well.
My problem was existential.
It was like I was going through a mid-life crisis. I began to struggle with fulfillment and purpose. I was struggling to see how I was driving any value on the team. I was surrounded by extremely talented people, why did they need me to tell them what to do? Was I in the way more than I was helping? Where was I going wrong?
All of these questions and doubts filled my mind and I had no idea where they were coming from.
I am a generally optimistic guy and something was wrong. I just couldn’t figure it out.
It wasn’t until later that I learned what was happening, and the craziest thing of all is that I began to realize that it happens to everyone as they move into management. But nobody had warned me this was coming…
Moving from individual contributor to manager requires a different skillset and that is definitely a problem that would be managers should be ready for. I am passionate about this, which is why I am building a whole course for it as part of my paid substack.
However, I think there is a larger and much deeper problem that developers face once they don the managerial mantle.
The problem isn't with being a manager, the problem is moving out of a creative role and the impact that has on your personal feedback loops that feed your fulfillment.
Most people don’t think of software development as a creative role. Some would call it a science. I believe it fits at the confluence of these two disciplines. There are elements of science, best practice and repeatability in the process of writing code. Experienced developer know, however, that there is a real art to how the code is written and structured to solve the given problem. This is why I advocate for long periods of time for developers to work their craft in solitude.
I can speak from experience when I say that it is extremely fulfilling to click a button and see all of the piece work together to deliver the desired outcome. At the end of the day this creative process and the tangible experience of observing the code fulfill its mission is what brings fulfillment to the developer. This feedback loop is what makes that career so enjoyable.
Once you jump into management this all goes away. You no longer get the satisfaction of an experience, like clicking a button, to validate a hard days work. Like a parent, living vicariously through their children, you too have to experience the fulfillment of creating software without being in the drivers seat.
The feedback loop gets longer and more opaque.
You don’t get to have fingers on the keyboard anymore. You don’t get to be in the hot seat debugging a mission critical bug. Instead you stand by watching others do so and waiting for updates.
The code base starts to change and you understand less and less of it. You begin to wonder if you can even write code anymore. You try to keep up your skills but it is hard to find the time. The skills you spent years if not decades honing begin to rust.
With no fulfillment and your hard earned skillset beginning to rust you hit the exact existential crisis I faced.
This is, I believe, the biggest hurdle to becoming a manager and why a lot of talented engineers turn back. They get hit will a crisis of purpose, not a failure to level up their skillset. The craziest thing of all is that I have never heard anyone talk about it. But if you ask seasoned leaders about it, everyone knows exactly what you are talking about and has their own story to tell.
If no one else is talking about it, its time I did.
You will go through this. It is natural and part of the process to becoming a manager. I don’t think that knowing it is coming will help you avoid it. I do think that knowing it is a common part of the process will help you get through it. Slowly you will begin to find fulfillment in management. You will see that your role is critical and you will begin to develop other valuable skills that you can use. Slowly you will begin to find purpose and meaning.
Just remember. We all have been there before. This is the biggest hurdle. You will get through it, if you stick it out.
If you liked this, consider subscribing to my Substack. I publish an article about software engineering and software engineering management every Tuesday. If you want even more, consider joining my paid content where I am writing a course in real time about making the jump from developer to manager.