The Ultimate Guide to Transition from Engineer to Manager (Interview with Jeff Perry, Founder of More Than Engineering)
You’re getting the promotion you wanted, but it comes with a lot of extra burden. Transitioning from an engineering role into engineering management is a tough one to nail.
Your daily work has changed completely, and you’re treading on uncharted waters. You might even get grief from others who are resentful about you getting the promotion they wanted, while you need to keep learning a ton every day.
It’s extremely hard, no denying that.
So our lovely host, Fanni Karolina Toth, sat down for an interview with Jeff Perry, founder of More Than Engineering. He explained the top tricks you can do to overcome all the hardships coming with your new position in management.
Let’s dive into it!
Contents:
About Jeff Perry
My story started in a mechanical engineering school, but after finishing it, I instantly turned into a software engineer. I'd worked at General Motors designing productivity systems for engineers.
A few years later, I moved to product development and got into leadership in a smaller company called METER Group. This gave me freedom to explore a wider range of skills I hadn't had the chance to test before.
Later, the company merged with another firm in Germany and re-evaluated the whole company strategy and culture. I got to be part of the team that helped to infuse and define the culture and do leadership development through training and coaching our people. This was beside my normal engineering and leadership responsibilities.
Doing that, I found a love and a joy for building people up. So a few months ago I created my consulting company called ‘More Than Engineering’ to do just that.
Now, I focus on taking a personal approach to inspiring engineers, developing leadership, soft skills, and helping teams become more effective. I also love to write about my ideas on my blog and other websites. This has been a new challenge, but a ton of fun.
What are the top challenges when an engineer transitions to a manager role?
It depends on the person, but let’s talk about things that I see frequently.
Make sure you have a growth mindset
Firstly, you need to look at the mindset. Do you believe that you have the capacity to take on extra responsibility? If you don't, it'll be harder, because what we believe about ourselves has a huge impact on whether others will believe in us.
This is the key to leadership.
Leadership readiness is a concept in leadership development. It's a measure of a person’s willingness to learn, grow and develop leadership abilities. The best training in the world isn't going to help if you don’t feel like you’re ready to take it on.
It's essential for someone transitioning from developer to manager to take the time and ask themselves if they really want to do this. You should have a better reason than a larger paycheck. You don’t need to have all the answers and be 100% ready, but make sure you have the capacity to grow into it.
Extend trust, don’t micromanage
Giving up ownership of the technical details as you move from engineering to management is another big challenge. When you lead a team, you can't be involved in every single line of code. When you're a full-time manager, your focus has to shift from writing great code to developing your team to write great code.
Engineering managers have a tendency to micromanage, but learning to delegate and to extend trust goes a long way. You need to be okay with making mistakes and letting your team make mistakes to learn from them. Think of these experiences as ways to grow together; don’t come down on people.
This is a great indicator of a leader whom people will trust.
What are the common misconceptions among developers when they consider transitioning to management?
The need to know everything
New leaders often feel like they have to have all the answers for their team, both technically and organizationally. It’s a misconception. Step away from the technical aspects, so the people on your team will have more technical insights than you.
You need to realize that you don't have to have all the answers, but you need to guide the team to the right one and provide the resources they need.
You have to be right
One quote I love from a famous leadership coach named Simon Sinek is this: “Bad leaders care about who is right; good leaders care about what is right.”
There's a big difference. Good leaders can't be concerned about being right all the time. This is hard for me personally.
I got into engineering because I was good at math in school and everyone pushed me in that direction. I enjoyed objective classes where there was always a right answer because I liked being right. I avoided arts, language and writing classes where things were subjective, and I was graded on the opinions of others.
But life, leadership, and even software engineering are subjective, as we're doing it for and with others. People are subjective and different, so there isn’t always one correct answer. Do your best to be transparent about what you know and what you don't know.
Embracing this subjectivity in leadership can be difficult.
Leaders are born
The other perhaps misconception is that leaders are born and not made. I totally reject that idea.
Research proves this wrong. The latest numbers I've seen said around 30% of leadership ability comes from genetics. And up to 70% is developed through life experiences and training.
Leadership skills can be learned and developed over time. You shouldn’t feel like you need to be a natural leader to become a great one.
What is the process for engineers to successfully transition into management roles?
0. Step: Examine your motivation
The first thing is to examine your source of motivation. As you move into a leadership role, you’re going to face a lot of new challenges. Make sure you have a good reason to keep going.
I believe the first 90 days of a new position, especially in leadership, are essential. I recently created a guide for that, where I split this up into three sections.
1. Month: Learn like hell
The first month of a new management role should be about making sure you dive into learning the craft of leadership. Seek to grow your skills and expertise as you sought to become an expert developer in the past.
Make time to learn
Block out specific times on your calendar for learning and growth activities. This could include reading books, spending time with mentors and taking relevant classes.
Keep it transparent
No need to hide this from your team, I recommend you be transparent about it. It can be weird; people often don't feel like this personal development work is real work. But it's of key importance to improve these skills from the beginning.
It’s fun that you can immediately test these new skills you're constantly learning with your team.
In this first month, make sure you find a good mentor who can help you start your leadership path.
2. Month: Set up your calendar
Going into the second month is when you start finding your groove. This time is about figuring out workflows that fit in your new role.
Create an activity cycle
This is your list of tasks and activities you need to do periodically, whether that's daily, weekly, monthly or something else. Make time for them in your calendar before other things come in to get these done. This forces you to do these important but not urgent things.
Pick your meetings
In your first month, you'll attend every meeting you're invited to because you're not sure which ones are useful. After a few weeks, you can evaluate which meetings are worth your time, and start to eliminate the ones where you're not getting critical insights or making connections you couldn’t efficiently make otherwise.
Click here to learn proven time management tips for engineering managers! (Podcast + Blog post)
3. Month: Assess your progress
The third month is about personal assessments.
Get feedback on your work
Evaluate how things are going. Get feedback from your team, your leader and your mentors, and make any necessary adjustments you need.
Learn more about handling conflicts, giving and receiving feedback! (Podcast + Blog post)
Reflect on the road so far
You've been in the role for a while, so take time to reflect and learn from the experiences you've had so far. Ask yourself these questions:
- Where are you falling short as a leader?
- How well do you know each of your team members?
- How is team morale, and what could improve it?
- Are you enjoying yourself?
These will get you going and help you uncover areas where you need to improve as you move forward.
Check out this case study on the first 100 days as a tech leader at a new company!
What are the common mistakes when engineers transition into management?
We've already touched on having a negative mindset and focusing too much on technical details.
Lack of expectations
Another one is not setting appropriate expectations for yourself and your team. If they're not set explicitly, people make up expectations in their mind.
Knowing exactly what metrics or goals you're going to be measured by in your new role is important. It guides your focus and drives for good performance. If you neglect this, you may find a rude awakening that you weren’t doing what your leader expected.
Having these discussions early on about how and where you should be allocating your time and resources helps.
Learn more about setting goals from Camille Fournier! (Podcast + Blog post)
Lack of communication
As a manager, you have four directions you need to communicate to: up to your leader, down to your team and side-to-side with your peers and other stakeholders you're working with.
To do this well, spend some time learning what each of them cares about. For starters: How frequently do they need an update from you, and what information do they need? This helps clarify expectations for everyone.
I always say: when in doubt, overcommunicate. You’ll rarely get complaints about that. Problems are usually caused by a lack of communication rather than too much communication.
What are the necessary skills for a developer to become a great engineering manager?
I recently created a model I call the “5 Factors of Leadership and Team Success.” These five basic areas encompass the critical skills that a leader needs to build a great team. Each one requires a lot of work, so I'll just summarize them briefly.
1. Develop your vision
Vision is about establishing the “why” of your team.
- What's the purpose of the organization?
- What value do you and your team have in that purpose?
- What makes you special compared to other teams?
It’s helpful to cascade the answers down to each individual person, so they know exactly why they are important to the success of the team and the organization. Helping people understand their contribution and the reason they're there is a great motivator.
2. Trust to earn trust
I'm a big believer that trust begets trust. In order to earn trust, you have to first extend trust. There are a lot of things that go into trust, but to put it simply, it's about creating a safe environment.
Be transparent with your team and model with them both what success and failure means. Then they’ll feel safe. You can model failure by owning your mistakes; then they’ll feel like they can do the same, be honest and trust you as a leader.
Learn about creating psychological safety in your team! (Podcast + Blog post)
3. Develop accountable people
Accountability for most people means holding others accountable. That's important. But the idea of developing people who seek to hold themselves accountable is more important.
Make sure you see the difference between the two.
You need to help people understand the goals of others and their impact on them. Expect great things out of your team so they can rise to the occasion.
4. The right people and the right skills
Sometimes a team lacks a certain capability the organization goals require. So, you need to grow or acquire these skills and capabilities. This could be through hiring developers or training them.
Make sure you have the right people in the right positions to set them up for success. For example, someone who loves front-end design probably shouldn't be doing back-end database work. If you put them to the right position, your engineers can grow their skills and advance their career, they will excel and be happy.
5. Take collective action
This is where the rubber meets the road. It’s about ensuring people work together collaboratively.
I suggest you focus on rewarding team achievement rather than individual achievement People will be encouraged to build up the success of the team rather than focusing solely on themselves.
I love using the idea of “Yes, and...” during brainstorm and ideation sessions. This comes from the world of improv comedy that has encouraged design thinking too. It's about how you respond when someone has an idea.
Responding with, “Yes, and...” continues to build upon their idea. Saying, “Yes, but...” means turning the corner or declining it. This encourages people to bring up their ideas and to engage in conversations.
Learn about training engineering managers from Credit Karma! (Podcast + Blog post)
How do you handle becoming a manager of former teammates?
Be a trusted teammate to become a trusted leader
As a teammate, make sure you're a team player, so people can tell you care about the team’s success rather than just your own. If you do that, it’ll carry over to your manager position. You're no longer peers, but they’ll trust you because they know you care about them.
Resolve resentment over your promotion
Often, other team members expected to get the promotion you got. This could pose a challenge as they may be resentful. Avoiding these tough conversations is never a good idea, but charging in like a bull doesn’t help either.
Talk to them directly with an open mind to learn what they care about and how you can help grow their career. If you show that you care, they’ll calm down and seek to find ways to help. Maybe it wasn't the right position for them at the moment, but you can show them that you still want them to be successful.
This can turn a challenge or resentment into acceptance, because you show you seek to help instead of taking things away from them. They're going to stop seeing you as an enemy. Remember, people don't care how much you know, until they know how much you care.
It's all about showing each team member that you care, and you won’t be the new terrible, micromanaging boss. Be transparent about what you know, and ask them for help and insight along the way.
Extend trust and you'll get it back.
What should you do to get accepted as the new engineering manager?
Work on your leadership skills
As mentioned above, spend time working on your skills from the beginning. Look at what you’re good at, realize what aren’t your strong suits, and take the time to find ways to improve. This builds confidence as you grow those skills and keep practicing.
Click here to learn about engineering leadership from Michael Lopp! [Podcast + Blog post]
Use 1-on-1 meetings
Make sure you give ample time to each team member by establishing regular one-on-one meetings. They don't need to be long, but make sure you have these meetings and give them some personal time. It’s especially important early on.
The goal is to get to know your reports beyond their roles.
You should seek to learn what they care about, what motivates them, what their strengths are and where they want to take their career. Early on, it’s about asking a lot of questions, listening and taking notes.
Then find ways to take the information, the feedback and the insights you get from them, and put it to good use. Make adjustments to their role, learn how you can best utilize them and how you can grow them. Make the team more effective with what you learn.
Advice for developers aspiring to become engineering managers
Get a mentor
A key component is to find a mentor who's done this before, to guide you through the process. Someone other than your boss. Ideally, you'll have mentors both inside and outside your organization.
Inside your organization, they can give you insight into the bigger picture of the company. That’s helpful. But at times, the way things work in your company isn't the best way, so another perspective helps.
Outside mentors can give you unbiased perspectives about you and your whole career. They can also give completely different ideas and connections than your current company. It widens your perspective.
Learn more about mentoring in tech from this case study on Uber! (Podcast + Blog post)
Focus on the team
Even if you're not a leader yet, be the best team member you can be. Helping others in your team rather than just growing yourself is what leadership is all about.
If you can be that kind of team member that people love and respect, it’ll translate into being a good manager.
Bonus advice for engineering managers: become a great listener
Listen first
We've talked about asking questions, but listening is critical for leaders. I struggle with this because I'm quite a talker. It’s amazing what you can learn when you ask a question and truly listen to the other person without interrupting or letting your mind wander.
Here’s a quote from Stephen R. Covey, “Seek first to understand and then be understood.” We’ll understand more if we start by listening more than we talk.
To help with this, I have an exercise the whole team can do together.
Exercise to improve listening skills
Pair up and ask each other open-ended questions, such as the following:
- What did you do this weekend?
- Why did you choose this profession?
Set a timer for let’s say three minutes, and listen to your partner without interrupting them. When the time is up, spend a couple of minutes relating back to them what you learned. Then swap roles and repeat.
Often, a great connection forms between people in just a few minutes. It's because they sincerely listen to each other.
What You Should Do Now
👉 If you are serious about becoming a great engineering manager, you should subscribe to our newsletter or download the state of software development 2020 report.
🚀 Need developers for your team or project? Hire our experienced Angular or Node.js developers! Click here for a FREE consultation.
About the author:
Gabor Zold is a content marketer and tech writer, focusing on software development technologies and engineering management. He has extensive knowledge about engineering management-related topics and has been doing interviews with accomplished tech leaders for years. He is the audio wizard of the Level-up Engineering podcast.