BrandGhost

It Ain't For Everyone: Becoming An Engineering Manager

There are software engineers who might find themselves being promoted to an engineering manager role at some point in their career. But is this really a great promotion? Will they be a good fit for the role? Let's discuss!
View Transcript
it's inevitable right if you want to be a successful software engineer in your career eventually you're going to become an engineering manager or is that true hi my name is Nick centino and I'm a principal software engineering manager at Microsoft in this video I wanted to walk through what it means to be an engineering manager and why that might not be a great fit for everyone now this is a topic that I discussed on my other YouTube channel called code commute so if you're interested in that you can check out that channel it's in a vlog format so similar topics to what you'll see on this channel but much more of a stream of consciousness to kick things off I get it I understand why there's a big misconception that a lot of the times people see moving into Engineering Management as the natural progression for a software engineer and I think that's because historically we've seen a lot of this happening right there's an engineer who's doing really well they get promoted into senior and then at some point there's not really another sort of role or title so they go okay well I guess we're going to put you in charge of this team because you've been doing a good job but the reality is that Engineering Management and being an individual contributor s for engineer are completely different roles so I'm going to start by talking about some differences here so that we can understand what's involved with the role and see just why these things truly are different as software Engineers we're expected that as we become more and more senior our impact will grow and grow and I mean that is the same for an engineering manager but how we're having impact looks different as a software engineer it's going to be about the technical contributions we have right so the code that we're creating the architecture that we're creating and then when we're collaborating with other teams being able to deliver on these things by by implementing software your technical expertise will continue to grow yes as you become more and more senior it's going to be more and more important to have better soft skills so that you can collaborate better with others but ultimately it's going to be about your technical contributions and how you can align those with business needs but Engineering Management is very different as an engineering manager it's not common that we are writing code now there will always be exceptions to this right so I'll talk about some of my own experience in just a moment where I was writing code at the same time as being an engineering manager but as engineering managers grow more and more in their career they spend less and less time writing code their individual contribution continues to drop because their time is better spent making sure that their team and others can be more productive in my opinion this is much more of a support role people will debate the balance here but I like to think that Engineering Management is significantly more about people and the other side of this is going to be about aligning what people are doing to business impact but as an engineering manager I like to focus most of my attention and effort into growing individuals on the team I want to make sure that they're growing in their career and I want to make sure that they're able to do their best work possible if I can align both of those things with the direction the business is heading then I think we have a great recipe but that means for me to be successful it's not about the code that I'm writing and this is going to be very different than a software engineer so is it really a problem that software Engineers transition into an engineering manager role and the answer to that is no it's certainly not a problem but I do think that they are at different roles and I wanted to walk you through my experience in that transition how it took me roughly 78 years to figure out what it meant for me and then from there we can talk about some reflection that you can be doing to see if this is a good fit for yourself so at this point in time when the video is being recorded I've been an engineering manager for just over 12 years the first eight years that I was an engineering manager I was writing code at the same time that I was managing teams and that meant that a lot of my time and effort was split between writing code you know contributing to the code base and managing those teams as well but over time that started to shift more and more towards people but early on I had no idea what I was doing truthfully I was sort of put into this role it's a bit of a unique experience being at a startup and kind of doing what just needs to get done and ensuring that I could help try to lead some of the teams early on as we were scaling up but like I said I didn't know what I was doing in the beginning I was spending almost all of my time writing code and then I would realize oh I haven't really done much team leadership management so I should shift gears and then I would pivot completely and go the exact opposite direction over indexing and trying to make sure that I was managing people and doing leadership and then I would flip-flop the other way and this was really difficult for me to balance early on because like I said I didn't really know what I was doing the way that I made both of these things work together was just by working a lot more and that's because I understood that both sides were important but I did not know how to balance and because my role was truly split between two as a technical manager it meant that I was responsible still for individual contribution and leading people yes I did say earlier that engineering managers will not be responsible for writing code as they continue to advance in their career and that's because if they continue to focus on an engineering manager track there is just truly less time for writing code your impact is better realized by Leading the team and not just Hands-On contribution now in my own career I had an excellent HR leader and periodically she would have a conversation with and she would say hey Nick what are your thoughts do you think that you're going to lean more towards people leadership or do you want to keep your hands in the code are you thinking more about an architecture type of role and we would have this conversation regularly over the years and I never really knew the answer I knew that if I took my hands out of the code I wouldn't be happy but I also knew that I was really enjoying the people leadership side of things so I continued to sort of ride that line and do both roles at the same time but this started to change just prior to when I moved over to Microsoft and what I started to realize for myself is that my time was getting stretched more and more across different things and I was having more opportunities to influence other individuals leading teams and having impact in other ways that meant my hands were not in the code anymore truthfully I think that it took realizing being in this situation that I could have a big impact by not just writing code anymore up until that point I had continue to keep putting my hands into the code getting that positive feedback about what I'm writing is having you know positive impact on the features that we're delivering and I just kept doing that but once I started removing my hands from the cat and I could have a bigger impact outside of that then I really started to realize oh I can have a larger impact if I'm spending less time just writing code now that might not be the case for everyone right you might not even enjoy the management side of things you might not enjoy working with people at the same level that we have to do as engineering managers and that's totally okay what I'm trying to say here is that it took me roughly 8 years to really figure that out for myself and that's going to bring me to the next thing that I want to talk about which is sort of this transition phase so if you are considering that you are moving into an engineering manager position from an individual contributor role or if youve sort of found yourself in this situation say you're kind of like me and you're working at a startup or a small team and you're sort of just plopped into this engineering leadership role what is that going to look like for you the thing that I've noticed not only from my own experience but from talking with other engineering managers that have gone from IC into management is that it's a bit of a struggle and it's a struggle because we are so used to having our hands in the code and we're so focused on individual contribution being the thing that measures our success what ends up happening is that we realize we have to spend time with our team we have to build trust we have to build respect we have to start peopling a lot more it's a lot more than we anticipate but the problem with that is that we start to feel like if I'm doing all this stuff with people that I'm not used to doing look what's happening to my individual contribution I have less time to write code does that mean I have to work longer you start to get stressed about the fact that you're not writing as much code or that it's a lot more challenging to keep up to dat with all the code changes and it's really stressful and it's hard to balance these things because the expectations that we have for ourselves need to start shifting now one piece of advice that I try to give everyone when it comes to role changes and things like that is make sure you're having conversations with your manager because if you're watching this and you're saying well Nick says that we're not going to be writing code AS engineering managers you might be working at an organization where they legitimately expect you to be writing codes still as an engineering manager have that conversation with your manager to figure out what the expectations are more often than not again from my own experience and talking with others is that the expectation of writing code continues to drop and that means that the expectation of you working with people leading people helping them grow in their career helping to do probably what I consider a little bit more product and project management than you're maybe used to all of those other things take more time and you need to be spending more time doing them now I don't have hard stats on this but I think roughly around five or six employees that are reporting to you once you start hitting roughly that number you should find that you have almost no time at all to be writing code in a significant way maybe you could argue that if you're working longer hours or maybe you're trying to rush through some other things you could be writing code but then the question is truly is that the best way for you to be spending your time personally I think the answer is no we should be spending less time with our hands in the coat but that means that we're now in a situation where we can be working on delegating things we can be making sure that we have teams that are structured from more Junior to more senior members we can be making sure that those individuals are working on delegation we can try to ensure that our whole team is being productive there are tons of other skills and things that we need to work on as engineering managers that are not just writing code now that doesn't mean that being technical isn't helpful in fact I would say one of the things that's helped me tremendously in my Engineering Management career is the fact that I have remain technical I love to code still I've been an engineering manager for four and a half years at Microsoft I don't code at all at work but I love to code every single day outside of work I write tons of C code you've probably noticed that from my YouTube channel or the other content that I put out but I love C I love building things it's just not what I do at work but for me that's something that I found very helpful and that's because in terms of being able to communicate effectively with the engineers it allows me to still remain very relatable with the engineers they understand that I understand how to write code that I understand how to navigate code bases I might not understand the exact thing they're working on in the exact bit of code or the class that they're working on but that's totally cool at least I can make sure that we're getting on the same page when having technical conversations and that's not a waste of time for us but again I think one of the biggest challenges when individual contributors are transitioning into a management role is how to balance their time and making sure that they can start to feel like they are having a positive impact without having to write code but that's going to bring me to the very last point that I want to talk about here which is self-awareness and reflection now to start this part of the conversation off I wanted to continue from where we were just at and that's if you're becoming an engineering manager and you're thinking through hey look I used to measure my success as an individual contributor by my ability to deliver on code the business contributions and now that I'm an engineering manager that looks very different we need to make sure that we're finding the right alignment with our own engineering manager that we're able to start measuring our success in terms of what our team is able to do and no longer just about our own contributions this looks very different and that means that when you're reflecting on your own productivity your own ability to be delivering um business initiatives business value that that is just going to look different so how you reflect on this type of stuff is going to evolve right it's no longer reflection and saying hm like how much code did I commit like what parts of the product did I go build specifically that's just not going to be happening anymore or if it is it's going to be reduced greatly so what does it look like to be successful in your role well that could mean that you were helping lead your team and you have Engineers that are responsible for different initiatives you were keeping them unblocked you were helping them navigate architectural decisions you were helping make sure that other teams are brought in as necessary right there's a lot of different other factors that can come together here but this is going to take some time some effort and a lot of reflection to make sure that you understand the impact that you are having now the other part about self-awareness and reflection that I wanted to talk about is whether or not this is even a good fit for you and I mean this genuinely right I'm not trying to gatekeep Engineering Management there are many companies that have I see career progression that goes all the way following the same sort of levels as engineering managers they just don't have a people management component and that means that you shouldn't have to deviate from your individual contribution to become an engineering manager just in order to grow in your career for some people it's truly just not a good fit for their interests or their skill sets and for other people it might be a very natural progression I think some things that are important to be asking yourself are about what you are motivated by and again for me this took many years to realize that I actually do get enjoyment and fulfillment from helping people and I do get enjoyment and fulfillment from seeing larger scope projects come together and be delivered successfully earlier on it felt like for me that I needed to be the ones having my hands in the code to feel like almost like that I was the single person responsible for things and that shifted over time and there's nothing wrong with feeling that way this is things that are going to be motivating for you and that could look very different from person to person if you truly do enjoy the technical challenges having your head in the code you like being able to navigate code bases work on technical challenges architecture debugging things all of those things if they're of interest to you and you would love to keep focusing on them no sweat there's nothing wrong with that you may find that if you enjoy those things and move into Engineering Management you have less time for the stuff that you enjoy now of course in Engineering Management there are things that I don't love doing I don't love having difficult conversations with people that's really challenging I don't know many people that love having difficult conversations but not every single part of the role is going to be things that we love and that's okay because I think the other parts of Engineering Management when I reflect on what I'm interested in and what makes me feel fulfilled most of the other parts of the engineering manager role really make me feel good about my career and what I'm doing every day and that means that other things like having difficult conversations when they come up I understand that they're important they have to happen might not be something I love but it's part of the role I think that as you're moving forward in your career especially if you're more Junior in your career and trying to figure out like hey what's this going to look like in 5 10 years from now should I be thinking about management should I be trying to line that career path up for myself because I have questions like this coming to me all the time about what people should be doing and I think the most important part is just periodically having this reflection conversation with yourself to see what really motivates you this type of thing will change over time like I said I found myself in a dual role for 8 years and didn't really know until the end of that 8-year period what I really felt would motivate me most I hope you found this helpful and again just a reminder if you like conversations like this and you would like to see more of a stream of Consciousness approach you can check out code commute on YouTube thanks and I'll see you next time

Frequently Asked Questions

What are the main differences between being a software engineer and an engineering manager?

As an engineering manager, my focus shifts from writing code and making technical contributions to supporting my team and ensuring they can be productive. While software engineers are measured by their technical output, engineering managers are more about leading people, aligning their work with business goals, and helping them grow in their careers.

Is it necessary for software engineers to become engineering managers to advance their careers?

Not at all! There are many paths for career advancement that don't involve moving into management. Some engineers find fulfillment in technical roles and can progress in their careers without taking on people management responsibilities. It's important to reflect on what motivates you and what you enjoy doing.

How can I determine if becoming an engineering manager is the right fit for me?

I suggest reflecting on what aspects of your work you enjoy most. If you find fulfillment in helping others and managing projects, then management might be a good fit. However, if you prefer technical challenges and coding, you might want to pursue a path that allows you to focus on those areas instead.

These FAQs were generated by AI from the video transcript.
An error has occurred. This application may no longer respond until reloaded. Reload