From Programmer to Manager: Career Transition Guide
You’re going from programmer to manager.
In other words, you are either looking to become a manager, you just became a manager from a programming role (perhaps while still continuing your programming role part time), or you want to be a better manager to programmers.
If I just described you, you have landed in the right place.
Becoming a manager after successfully working as a programmer — is, well, kinda strange. The skills that made you successful as a programmer are not the same skills that will make you successful as a manager. Like, at all.
But at the same time, getting hired as an engineering manager or people manager means that your own management saw something in you — your helpfulness to the team, your ability to have hard conversations, or your ability to navigate tense situations.
Do not underestimate yourself. The first step is stepping up to the role you have been given knowing that you are capable of good.
As a programmer-to-manager, you have more skills than you think — it’s just a matter of molding them into success: both enabling success for yourself and for your team.
The Programmer-to-Manager Job Description
The programmer manager (or engineering manager) looks different as you climb the hierarchy of software companies. This job we commonly think of as either the people manager or team lead, which is sometimes but not always the same person.
In the role of the people manager to engineers, you are responsible for the following:
Managing software engineers by giving and gathering feedback
Conducting one-on-ones
Cultivating career growth opportunities with your reports
Tracking the progress of your reports in relation to company or team goals
In the role of the team lead, you are responsible for the following:
Spending less time writing code and more time planning technical deliverables
Guiding technical decision making, particularly helping other decision-makers see what features are possible or impossible
The Programmer-to-Manager Salary
According to salary.com, a software engineering manager in the United States makes a median salary of $140,084 annually and over $156,707 on the high end. This can vary widely depending on factors including location, education, and number of years experience. Compare this to a senior software engineer, whose median salary is $110,900 and high-end salary is $121,000.
USA Salary
How to go from Programmer to Manager
To make the transition from programmer to manager, the best thing you can do is demonstrate leadership by taking advantage of opportunities. Express interest in leadership to your own manager and demonstrate leadership regularly.
A mindset shift is key. When I had been promoted to a ‘senior’ title, I knew that it was important to embody someone with the title. The behavior comes first. And then the reward.
Often large software companies have a formal internal hiring process. Keep on top of opportunities as they roll out.
To show your aptitude and to train for when an opportunity comes, ask your manager to allow you to take an online course on management. Software companies often have a professional development course. I suggest taking The Manager's Toolkit: A Practical Guide to Managing People at Work by Coursera.
To demonstrate leadership, you can volunteer to mentor junior developers or interns as well. New team members are the perfect opportunity to be proactive, reach out, answer questions, and bolster the team.
How to be a First-Time Programmer Manager
Much of the wisdom to being an engineering manager is distilled into the book, The Manager’s Path, by Camille Fournier. The author is someone who started working at tiny engineering team and taking on leadership opportunities. These opportunities compounded, from managing a small team to running all engineering as CTO. Her brain was bursting with so much knowledge that she banged it out into a book.
The wisdom in that book is far more than what this article has to offer, but I can share some of the book’s key insights:
Tip 1: Care about your reports as people.
It is important for you as a manager to actively want to help grow your reports in their career. A strong manager is a manager who teaches and gives feedback. Because of this, a manager is mentally strong and resilient. They tell the truth and look at nuances, and nothing is more nuanced than people.
Use your one-on-one meetings to establish connection. A report ought to be comfortable when a crisis occurs, such as a death in the family, a breakup, or a new family member. Managers are effective when they establish openness.
Trust builds when managers proactively seek out opportunity for their reports, whether that be training or mentorship.
Tip 2: Don’t be an “alpha geek”
Fournier describes an “alpha geek” as an engineer who takes pride in being the best engineer. They feel that they have great ideas and are take-charge, which got them a management position in the first place. But “alpha geeks” do not make good managers, as they can destroy morale and openness. Management relies on trust to bolster agency and team health. Asking questions, rather than answering them, is an important skill for a manager.
Tip 3: Start a manager relationship with questions
When becoming a people manager, it’s important to ask questions. What motivates one person can severely demotivate another. Some people love to be praised publically. Others hate it.
Some questions to ask are:
What is your preferred method of communication for serious feedback?
Why did you decide to work here? What are you excited about?
Are there manager behaviors you know you hate?
Tip 4: Change your delegation style by occasion.
The level of overhead you do depends on the occasion. Junior developers may enjoy way more oversight and delegation than a senior developer. Autonomy is important for motivation, so it’s important to balance.
Be involved as much as only necessary.
Tip 5: Commit to continuous feedback.
Building a culture of continuous feedback is important to continually recognize and foster talent when opportunities emerge. Practicing continuous feedback is a mindful activity that is about being present.
Tip 6: Find a way to stay in the code
When you move to management, you are likely to be pulled more and more away from writing code. Being an engineering manager, particularly a team manager, requires that you stay savvy even if you are not writing code as frequently as you used to.
Conclusion
Whereever you are on your engineering journey, whether you’re making the career transition or you’re already there — congratulations! Being a manager is challenging but rewarding.
If you haven’t already picked up The Manager’s Path, I can’t recommend it highly enough no matter where you are on the path. Being an engineering manager is unique from any other management position, so the unique perspective is invaluable.
I also highly recommend The Manager's Toolkit by Coursera to build people management skills and get a certificate to demonstrate your credibility.
At Books on Code, we talk about learning through books, and we’d love for you to stick around. As an up-and-coming manager, you may want to cultivate clean code in your practices. If so, this article on Clean Code principles is for you. Thank you for visiting and I will see you in another article. 👋😁