Transcript from the "Truths about Engineering Management" Lesson
>> Now let's drop some hard truths about engineering management. These are, I guess, common myths, and we covered some of that in motivations on what people are driven by. But I wanna tell you the really honest truth about engineering management. The truth about engineering management is you will become less technical.
[00:00:19] `so I keep talking about it, but it's really important as you make this transition from software engineer to engineering management, you become less well-versed in the goings-ons of things. You probably don't get into technology debates anymore because you're further away from it. And it's something you have to accept.
[00:00:37] If you try to hold on closely to the code and try to be as technical and try to be like, yeah, I'm familiar with this piece of code, let me show you my perspective. Or let me try to slip in this PR real quick cuz I think I know the fix, it just becomes a worse and worse idea.
[00:00:53] And the further on you go into engineering management, the less technical you become in terms of the day to day, it's something you have to accept, it's hard to do. It was hard for me to do because I built my entire persona as being a software engineer, a really good software engineer.
[00:01:08] And now all of a sudden, I'm not, but I am. I'm still involved, I'm not technical, I don't know the nuances. I couldn't tell you the difference between React 16 and React 18, which, you're like, Jim, you write front-end software? You did front-end and you don't know that?
[00:01:25] I'm like, no, I don't. I could find out, but mostly I'm gonna lean on my team to do that, I know how to ask the right questions. But in general, I'd say you become less technical over time. Another truth is micromanaging is easy, trust is hard. If you run a micromanager, Is it fun?
[00:01:49] No, it's not fun. But I'd say micromanagement is the biggest anti-pattern of being a manager. Because as a manager, as we've talked about, you don't feel like you're doing anything. It takes a long time to actually see like, I am doing something, I'm impacting in this way. So being a micromanager gives that feeling of you doing something.
[00:02:13] Like I'm doing something, I told you to close that book, and I told you how to write that code, and If I told you hey, you should upgrade this library. And become a real micromanager cuz you wanna hold on to things and make it feel like you're doing something.
[00:02:29] But the reality is micromanagement is where a lot of people start, it's where a lot of people never get out of, they never let go. And you're just not effective being a micromanager. Cuz if you're focused on the day-to-day, who's focusing on the week-to-week, the quarter-to-quarter, that's your job.
[00:02:44] But if you're down there in the weeds with your team, trying to point out things, one, you don't trust them, it's obvious. Micromanagement means you don't trust the people you have, which maybe that's accurate, maybe they actually need some performance coaching. But that's a conversation you should have, but a lot of people avoid that by micromanaging, by doing things for people.
[00:03:07] Trusting is hard, but you have to trust your team. You have to trust the team that they're smarter than you, they're better at coding than you are, they're more technical, they know more of the nuances of the day-to-day, but it's so hard to do. It's really hard to do, and I cannot stress how difficult it is to just step back and let things happen and not try to interject yourself.
[00:03:30] Another truth about engineering management, no one tells you how to spend your time, This is a hard one. It's a hard one for me even today, trying to figure out where I should spend my time. I'd say definitely in the first year one of the biggest, hardest things to deal with was what should I be doing right now?
[00:03:50] There's a lot of things you can be doing at any given time. I could be project planning. I could be looking at, hey, what's our plan for next year? I chould be looking at growth plans for everybody on the team. I could be building rapport with my partners, looking at their roadmaps.
[00:04:04] I can be talking to my manager, figuring out hey, is our priorities right? I could be thinking about parties, thinking about swag for the team. Thinking about team meetings, how they're run, are they effective? Thinking about icebreakers, we talked earlier about finding the right icebreaker. Thinking about team dynamics.
[00:04:21] I won't go into all the things I could be doing, but there are dozens, maybe hundreds of things I could be doing at any given moment. And no one's gonna tell you if this is the right thing to focus on in the moment or not, and it's something I struggle with sometimes.
[00:04:37] And this is hard, this is really hard, it doesn't sound like it. But at the end of the day, what most people want in life is for someone to tell them what to do. They do it, they check it off, and they move on to something else, cuz it's satisfying, it's easy.
[00:04:51] But that check box doesn't exist as an engineering manager. There's no you should do this, do this, do this, do this, and then your team is good, because every team is going to be different. Maybe they're executing well. Maybe their social dynamics need a lot of work. They're all really smart people, but they don't talk to each other.
[00:05:09] That's something no one else can tell you other than you, and no one will tell you here's the right thing to do that. So this is the truth of engineering management, is no one's gonna tell you that. Cuz you're the only person in the entire world that cares about your team.
[00:05:23] And that's not saying your manager doesn't care about the team, etc., and they don't care about each other. But your job literally is to care for your team and to pay attention to them, and no one else does that better than you cuz that's your job. So what does it take to manage your team and take care of them, make sure they're all functioning?
[00:05:39] I don't know, you have to figure that out, and that's really hard. And that's that's the truth of engineering management. And no one will tell you what to do. Like I said, there's a lot of things you could do. And I can I can go to my manager and say like, I have all these problems, these people are arguing.
[00:06:00] And they might be able to provide some insight, but they're not gonna tell me what to do, and that's a pro and a con. They don't tell me what to do, nobody tells you how to spend your time. And they seem like similar things, but they are different.
[00:06:12] Cuz there's a lot of things to do, there's a lot of things to spend your time on. And your allocation of time varies, there are hard things you're always going to spend time doing. One-on-ones, how much time should you spend on that? I don't know, depends on your team.
[00:06:28] How much time should you spend project planning? I don't know, depends on your team. What should you be doing next? So for me personally, I'm thinking about next year's planning, how much time should I invest in that? No one has that answer other than me. So it's really why I spend so much time on the truth of engineering management and motivations, is you have to really believe in yourself and you can't second guess yourself.
[00:06:57] Otherwise you will get nowhere, and you're gonna spin out and you'll get nowhere. And this is really challenging, there is no checkbox of what to do. And all that leads into leadership is lonely. You've all heard the phrase heavy is the head that wears the crown, familiar with that phrase?
[00:07:18] Being in charge is a responsibility. I've heard it referred to as the lodestone of leadership, you carry around this weight on your neck, it's true, it's true. I'm always thinking of, how's my team doing, are they functioning well? Is there anything I can be doing better to help them overcome some hurdles, some gaps?
[00:07:37] And doing all that is so lonely, cuz no one else knows other than me. And I really can't emphasize how lonely leadership is. And the higher up you go, the more it becomes, the lonelier it becomes, and that's the truth. So I'm not saying give your manager a hug, but maybe give them a hug, empathize with them.
[00:07:57] I think knowing this has made me a better manager to my director. So I'm like, hey, how are you doing today? Blah, blah, blah, there's this blah, blah, blah. I'm like, yeah, but how are you doing? That means a lot to managers, cuz no one asks that. Your team is, again I'll use the parent analogy, my kids are never like, how are you doing today, Jim?
[00:08:19] I've got a three-year-old and one-year-old, they don't care how I'm doing. They care about is their stuff ready, is there food, can they watch TV, are their toys in the right place? But they don't care about me personally, and I don't take that personally either, it's just human nature.
[00:08:35] But that's kind of how a lot of software engineers treat their manager too. It's like they don't care about them as a person, they're just a thing, a role, and that's lonely. It's a lonely job, but that's part of it, you just have to accept that. How to make this better is you have peer managers, and you talk to them cuz they're going through the same thing.
[00:08:54] And while you may not know the nuances of their team, cuz every personalities are different, you can at least like, yeah, yeah, I know, man, I know. A lot of what we do in one-on-ones with other managers is just complain. [LAUGH] I mean it, cuz there's no one to complain to about some of these problems, you don't wanna do it with your team.
[00:09:13] But just like you complain as software engineers, managers complain, directors complain, everybody complaint. My personal philosophy is I believe in the power of venting and just getting it all out, and then I feel better about it. Everybody has their own way of dealing with it. But that's a lot of what managers do in one-on-ones.
[00:09:30] It's just like, man, they changed the scope, did you hear about this new thing you're dealing with. And I won't go into all the various specifics. But yeah, it's a lonely job. Question.
>> Chad says they have a hybrid engineering management and technical role. And he's a little scared to move fully into management and lose the technical skill that he's built over the last eight years.
>> Yeah, that's just the truth of it, though. There's an old question I didn't call out specifically but I definitely talk about it, is should managers code? And this is more of a contentious debate, but I say no. If I'm coding, I'm not focused on the people in the bigger picture, I'm more focused on the nuances and the specifics.
[00:10:24] And some people do code as a manager. A lot of roles you are expected to code and that's fine, I just don't recommend it. I think there's better ways to spend your time that are more effective. But every company is different, especially at a smaller company where you're expected to do a lot more and wear a lot more hats you're probably coding a little bit.
[00:10:45] At a bigger company where I have dozens of customers, I think my team supports 24, 25 teams, and I have 5, 6 partners who I work with. If I'm coding, I can't possibly know all these other things going on. So yeah, you will become less technical, you should if you're doing things right, and that's just something you have to accept.
[00:11:05] And that to me was hard, as my identity of software engineer was writing code. And you just have to let that go, and that's a hard lesson I had to learn.
>> Jim, one thing I was thinking about too is that you can always go back to, we've definitely seen people move into management and then go back to being an engineer.
[00:11:23] So it's not like it's completely lost, it is something possible. And you've also built up some unique skill sets as being a manager and it can, to earlier points you've made in your presentation, is that you can actually be even a stronger engineer because of it. So someone wanting to give up the technical skills, it's not fully given up, you're still able to go back.
>> Yeah, good point, Ryan. Yeah, you can always go back, the longer you go, though, the harder it is to go back. It is like riding a bike though, you'll pick it up, but it's not gonna be as natural as it is today. And that said, there are people, rare people in the world, exceptional people, who are good at people leadership and technical side.
[00:12:04] I think one example that comes to mind is Sarah Drasner. I don't know if you all are familiar with Sarah, exceptional human being, but she's very good at coding and very good at people leadership. But most people do not have that capability, so it's something you just have to accept a little bit.
[00:12:21] But you can go back, it's just it's gonna be harder and harder over time.
>> No, just who is that, that sounds very familiar.
>> Sarah Drasner, I believe she's a-
>> Director of engineering at Google, she's in charge of Angular, and something else now too I think.
>> Yeah, Angular View.
>> Just transition into like web and Android-
>> She was a teacher on Front-End Masters teaching about SVG and all sorts of stuff.
>> Yeah. [INAUDIBLE]
>> She's someone I learned from just in passing. Whenever I talked to her, I learned something new about people leadership, which says a lot about her.
[00:12:58] But generally, it's really hard to balance these very different parts of your brain that takes dealing with people and tactical leadership.