(*: For clarity - EM = Engineering Manager, IC = Individual Contributor)
I recently transferred to a team with an explicit intent for me to be an EM on that team. A few months down the road they said I wasn't meeting expectations because of my "time management" which had too many meetings and lacked focus time for IC work - which definitely was not my 50%+ focus. I'm "winning" the resulting political war (my last 1:1 left my lead in tears), but only in the limited sense that I'm not getting fired; it's been a bit of a disaster for everyone.
The unclear expectations of what gets someone an EM role and what is expected of that role is the root of my problem, some of the author's, and a lot of the industry's as a whole.
Leaders are picked from those that are truly focused on tech and truly excel at it... and then told not to do that. How can somebody be "intuitively, emotionally invested in the outcome" of tech work and then suddenly be expected to stop doing it?
I should have been that rare counter-example in that I got picked for this role because of my very visible leadership in other areas. However, when it came time to give me the position formally they fell back on code output and found it somewhat lacking (specifically, the number of commits I made while onboarding was less than those of my established teammates).
There's a school of thought that switching back and forth between IC and EM tracks lets you build a lot of knowledge and be both better manager and IC (the author evidently did). While I do think experience with each helps you do the other, there is a cost to that focus shifting. This isn't like the cost of only being able to code in 45 minute blocks. It's the cost of shifting the things you care most about entirely.
Most managers fail to ever make that shift. Even if they manage to hold themselves back from coding (not all do), their heads remain in the code. One sign is when, in response to impossible expectations from above, they try to come up with technical solutions (e.g., if only we redesigned this module we could meet these impossible deadlines). If your mind is focused on tech, it's the tool you use to solve every problem. Another example is when team members have no idea how to move their careers forward and don't know expectations. A tech focused lead won't be thinking about how a new project is actually the perfect challenge for a more junior employee; their head will be figuring out the best way to solve the task technically.
An EM is not a tech lead. It's not just a different skillset, but a mindset change.
> the cost of shifting the things you care most about entirely
Wow, I never heard it articulated that way, but that’s exactly what it is. In 2015, after dodging the EM role for half a decade, my manager left, and there was no one else, so I had to step up. I was below average because I never stopped caring about the code. Luckily for my team, I left the company after eight months.
Now, having been the senior tech person in a startup for the last four years, I feel the fatigue from churning out code (I’ll sketch out a design over a few minutes, and then have to spend days building it), and it’s obvious that the only way to get a better ROI on my time is to lead and/or delegate. For the first time in my career, that feels exciting. I still care too much about tech to be a good manager, but I feel my mindset shifting.
I’m going to see how far I can get never trying to get promoted above lead developer. Or more to the point, trying not to get promoted above lead developer.
Sounds like some of your coworkers thought an EM role was [a lead developer], which it is not. As a manager, being an IC leads to a bunch of structural problems with the code and therefore the team.
This is another big part of the problem. While at my current company management is a separate track on paper, many still view it as a promotion (including my lead). But if that's not the "promotion" you give them, what is it?
Even if you make it a separate track, it's hard to define what the promotion looks like for more senior engineers, especially at successful companies. When you have $2M of cash in the bank thanks to stock, does a 10% pay bump from senior to staff matter? Does the title bump matter? How can you reward a long-standing successful senior engineer in a way that seems meaningful?
This isn't a question I have an answer to, but "make them a manager" is definitely the wrong one. The majority of my managers have told me how jealous they are that I get to code all day. More than one has told me straight up they do not want to manage. I've watched several teams implode under managers like that.
I think it's completely valid to not want to manage. Hopefully your lead doesn't pressure you to take such a role in the future. But have you thought about what success would look like in your career otherwise?
It is also valid to not be particularly ambitious, to enjoy the craft of software engineering until you retire, and spend the mental energy you would spend on getting promoted on hobbies, family, advocacy, or whatever else brings value to your life... though it can be hard for those of us who are more ambitious to realize that.
I didn’t figure out the public school system until the middle of third grade. By then the era of gold stars had passed me by, so any motivation I found was going to have to be intrinsic, not public accolades.
I had a boss who was being weird about making me a lead for the first time. I needed him to make it official, not fret the title. I told him I didn’t care what he called me as long as people did what I asked them to do.
If you want to stay an IC, I can not recommend loudly enough that you learn to manage your finances and your consumption. Managing your “needs” makes your savings last longer. Getting a raise just lets you build your savings faster, which might not be the same (especially since your needs will be inflation adjusted but your savings will not).
It’s harder to maintain the courage of your convictions when you are in debt than when you are doing okay.
If someone makes you work for a promotion, they are manipulating you. That could be good (in a mentor) or bad (in a labor exploiter). But you are being manipulated, and it’s better if it’s really your choice, not your mortgage or your kids’ braces.
I am financially comfortable (though not at 'fuck you money'), but also, personally, really want to be an EM. My passion has been people, process, and management for a decade or more at this point (I had my first tech internship 20 years ago, and have been full time in the industry for 15).
I initially didn't care about titles, but they do constrain what work you can do. The reality is that if your title is one of an individual contributor, even if you lead culture change at the company level, they will always look for the code. If they don't find it, you will be in trouble.
One thing I have learned over the last year of my life is that being "Shadow lead" - the one actually pulling the strings and making things happen, with no formal title/recognition - is the worst spot to be in. The work you are doing doesn't match what you should be doing on paper, so you are very vulnerable if somebody decides to take a closer look.
It's "glue work" but on a larger scale. It's important, but will go unrecognized. It's emotionally exhausting to build a team and get a head pat and told someone else will lead that now, thanks, and by the way how much code did you write recently?
Though I do wonder what you mean by "official" but without the title. It might be the case that "everybody knows" what you do, but if your lead is replaced or just changes their attitude, suddenly your IC work is under the microscope, and could be found lacking.
These pseudo manager positions are so exhausting because one gets the job to do some things but not the full required authorities to carry it out. It is the cognitive dissonance that makes it so stressful and exhausting. Managers delegating without really delegating. I try my best to avoid doing them, asking enough questions, having enough demands beforehand to either make sure the scope matches the authorities or the requester walks away frustrated.
I feel you probably speak of experiences in very big companies.
If the software team is of a medium size, let's say, less than 50 people, then it surely isn't how you paint.
The CTO / Manager(s) for sure know the impact of the ICs and likely nobody is measured by LoCs. I personally have never worked in an organization (10 companies and counting) where LoC has ever been mentioned as something being measured.
To be clear this isn't lines of code. Nobody is that bad. Somewhat hilariously my boss was looking at number of commits. His complaint was that there were weeks when I made no commits.
Though that was the stupidest way to come to that conclusion, it is true that I was doing less IC work than other members of my team. I had surfaced this several times in 1:1s and thought that was what he expected. For instance, some weeks I had literally 20 hours of meetings, with significant overhead attached to those; it is hard to make much progress coding in that environment.
I recently transferred to a team with an explicit intent for me to be an EM on that team. A few months down the road they said I wasn't meeting expectations because of my "time management" which had too many meetings and lacked focus time for IC work - which definitely was not my 50%+ focus. I'm "winning" the resulting political war (my last 1:1 left my lead in tears), but only in the limited sense that I'm not getting fired; it's been a bit of a disaster for everyone.
The unclear expectations of what gets someone an EM role and what is expected of that role is the root of my problem, some of the author's, and a lot of the industry's as a whole.
Leaders are picked from those that are truly focused on tech and truly excel at it... and then told not to do that. How can somebody be "intuitively, emotionally invested in the outcome" of tech work and then suddenly be expected to stop doing it?
I should have been that rare counter-example in that I got picked for this role because of my very visible leadership in other areas. However, when it came time to give me the position formally they fell back on code output and found it somewhat lacking (specifically, the number of commits I made while onboarding was less than those of my established teammates).
There's a school of thought that switching back and forth between IC and EM tracks lets you build a lot of knowledge and be both better manager and IC (the author evidently did). While I do think experience with each helps you do the other, there is a cost to that focus shifting. This isn't like the cost of only being able to code in 45 minute blocks. It's the cost of shifting the things you care most about entirely.
Most managers fail to ever make that shift. Even if they manage to hold themselves back from coding (not all do), their heads remain in the code. One sign is when, in response to impossible expectations from above, they try to come up with technical solutions (e.g., if only we redesigned this module we could meet these impossible deadlines). If your mind is focused on tech, it's the tool you use to solve every problem. Another example is when team members have no idea how to move their careers forward and don't know expectations. A tech focused lead won't be thinking about how a new project is actually the perfect challenge for a more junior employee; their head will be figuring out the best way to solve the task technically.
An EM is not a tech lead. It's not just a different skillset, but a mindset change.