Coming Back from Engineering Manager to Software Engineer
Reverting from PowerPoint to Compiling Code
Today’s article is a guest post by
, Senior Software Engineer, Tech Lead, and former Software Engineer at CERN.Marcos is the author of
, one of my favorite newsletters about Software Engineering, Technical Leadership, and Technical Growth!Thank you, Marcos, for sharing your experiences, lessons, and insights with all of us.
Cheers readers of The Engineering Leader, Marcos here.
In the space that Rafa gave me in his newsletter today, I want to share the steps for transitioning back from Engineering Manager to Software Engineer. Specifically, I will cover:
The use case
The challenges
How to get back in
Let’s start by describing the scenario you’re in.
The Use Case
As you can sense from the title, the use case is based on the fact that you were a Software Engineer, moved to Engineering Manager, and now you come back to the Software Engineer role.
In a more detailed manner, let’s say that:
You started as a Software Engineer and wanted to grow on the Engineering Manager ladder.
At some point, you got an opportunity and transitioned into an Engineering Manager role, leading a couple of teams.
Now, after 2 years or so in the Engineering Manager role, and due to company or market circumstances, you're moving back to a Software Engineer position.
First thing you will feel, and this is a spoiler, is fear; As with any change in life it comes with uncertainty and fear of failure. This feeling is part of the use case too, because the context matters.
From here, what you have to put in place is a plan for being ready for the new role you are onboarding. But, first, you have to take some time to understand the challenges you have in front of you, so your plan will be more solid and realistic.
I won’t dive into the reasons why you were “invited” to return to the Software Engineer role. Let’s just assume you accept the situation and are happy with it. (But hey, we can debate it in the comments! ).
The Challenges
We know that, in most cases, the Engineering Manager role is quite different from that of a Software Engineer—primarily because as an EM, you don’t code anymore.
This means you’ve been out of hands-on coding for one, two, or even more years. And we all know how fast technology evolves, how companies change their architectures, and how quickly you become rusty when you’re not coding daily.
1. Accepting that you're no longer the software engineer you used to be.
When you code (almost) every day, you naturally apply best practices, recognize common patterns, and develop instincts that help you avoid pitfalls. You also stay up to date with new technologies.
But after just a year or two away, you lose a lot of that. That’s the reality.
Since you became an Engineering Manager, the product has evolved, the architecture has changed, and the way teams deliver software is different now.
“Who is this ArgoCD that everyone keeps talking about? Are they from Spain?”
Bear with me on the joke.
2. Catching up with technical advancements.
You will need to work with technologies and patterns that may not have been part of your daily job before—like Kubernetes, Kafka, Domain-Driven Design (DDD), microservices, and modern CI/CD pipelines.
You’re likely unfamiliar with these changes, and that’s okay.
3. Accepting all of this before taking action.
Unless you fully accept these challenges upfront, you won’t be ready to transition back to the Software Engineer role.
I’ve seen people in this situation, and I’ll be brutally honest with you—I’ve seen both outcomes:
Some accept the reality and successfully return to the Software Engineer role.
Others struggle, can't adapt, and ultimately leave the company.
And don’t get me wrong—leaving the company after realizing the gap was too wide was actually the best decision for some people I know.
How to get back in
Now, let’s say you’ve accepted these challenges. What should you do next to prepare for your return as a Software Engineer?
1. Get a deep overview of the current state.
Find a Senior Engineer (or multiple) in your company who can guide you through how things are done today. Focus on these dimensions:
New architectures and patterns: Are they using microservices? Event-driven design?
How the product is shipped: CI/CD? What tools are in place? What’s the deployment process?
New languages and frameworks: Did the company move from Spring to Micronaut? From Python to Kotlin?
Your team's scope: Understand their mission, vision, and responsibilities.
Once you have the big picture, move on to the next step.
2. Start coding again.
It might sound obvious, but my top recommendation is to build small projects to practice new technologies and patterns.
Also, try to pair programming with teammates—either as a driver (coding) or a navigator (guiding the implementation).
For example, if you’ve never worked with Kafka Streams, try implementing a real company use case on your local machine. This way, you’ll experience the initial hurdles and learn how to use it effectively.
3. Learn the theory as well.
Deepen your understanding through online courses, books, internal training sessions, or mentoring from Senior Engineers. Whatever method works best for you—just make sure you go beyond coding and understand the "why" behind the technology.
Final thoughts
Yes, it’s possible to move back from Engineering Manager to Software Engineer.
In this article, I focused on the case of an ex-Software Engineer who became an Engineering Manager and then returned to coding.
I haven’t yet seen an Engineering Manager with zero coding experience successfully transition into a Software Engineer role. (Have you?)
What do you think? Do you see a trend where companies are asking Engineering Managers to return to Software Engineer roles? Let’s discuss in the comments!
It’s not an easy ride. Even though the transition is possible, you first need to accept the challenges and then actively prepare for the role. At least, that’s what I’ve observed.
I’d love to hear your thoughts! Have you gone through this experience? Do you know someone who has? Drop a comment—I’ll read them all!
I hope this edition has been useful to you!
Enjoyed the article? Hit the ❤️ button and share it with others who might find it helpful. Subscribe to support my work and stay updated on future issues!
Thank you Rafa for giving me the opportunity to write at your home!
Hope people find value in today's reading!
Anyone with questions? I'm here to help you folks 😉
I can't really speak from an engineer's perspective but I might add my spin on it.
I used to be a technical writer and then started to lead a team of technical writers. After leading my team for 8 years, I turned back to being a "regular" technical writer at another company 6 months ago.
The transition wasn't particularly hard for me for one simple reason. I was always a hands-on, get-your-hands-dirty type of manager. I think that is the key to transitioning back rather smoothly. Although I still had to get used to working exclusively operatively.
Without practice, your skills obviously will get rusty. Especially in our tech world, new technologies pop up too quickly to be able to keep up if you don't practice your skills regularly.