I've even had past managers they had no worries about me having the skills or knowledge to do it... but it still doesn't happen.
If you have a good manager, they'll set you up for success, working with you to create a roadmap to get from IC to Manager. The steps in between would probably entail taking on larger projects, mentoring others, leading a project with multiple developers on it, and then after demonstrating all of that, you get the promotion.
In my experience, you get the promotion when you're already doing the job. In other words, you do the work and the promotion is recognition of the work you're already doing.
The other thing I'd say is that you don't get what you don't ask for. If you want to be a manager, ask for it. If you want more responsibility, ask for it. If you want better compensation or a new title, ask for it.
Unless you have a FANTASTIC manager, you will never just magically be recognized for your work. They will assume you're happy doing what you're doing and focus on greasing the squeaky wheel. To further your career, you should be a little squeaky. Ask for what you want. If you can't get it now, ask for help getting to that point.
I, as a manager, really appreciate it when someone gives me direction on what they want. Otherwise, I have to guess or try to pull it out of them, and I feel like I'm pulling teeth. It's hugely beneficial for a manager to have proactive direct reports. Be that person.
OTOH, I’m also surprised by the number of managers who (1) implement something because “my friend at <massively successful co> uses <tool/process etc>; (2) don’t understand that their colleagues have lives outside work; (3) don’t realize that they’re being partial to some folks; (4) take advantage of the “meek” contributors; (5) don’t protect their team from upper mgmt when needed; (6) don’t do the grunt work when needed (and it’s always needed) etc.
In other words, just like any relationship, as you say.
I don't know how common this kind of program is, but I went through it and found it really effective. I was able to build the skill set I needed while having an "out" if it turned out I didn't like management; the company gained an effective manager after training me; and my direct reports didn't have to suffer too much during my incompetent phase because they still had a "real" manager supporting them while I was transitioning.
If you can get an IC position at a company with a program like this (or at least a strong track-record of promoting managers from within), you might have more opportunities to move into management. But no matter what, it won't just "happen" -- you'll need your direct manager's support to get the opportunities as they arise, so you'll need to have an ongoing "here's where I want to go, let's make a plan to get me there" conversation with your manager.
If your team is not growing then you'll never get the opportunity to become an engineering manager unless your manager quits and you fill the role. That's something to keep in mind if you've been working on a team that hasn't lost or added anyone in a while.
Incidentally this strategy is why I worked at startups before this job. One did land me a lead position with 1 report, but it was when the company was falling apart and thus not the most meaningful experience. Another took the role I'd been doing by myself, and replaced it with a team and a newly minted manager... who wasn't me. I got shuffled under someone else who didn't want to manage and promptly quit, so that didn't work out either.
My company theoretically prefers senior ICs internally sourced for EM roles - it's the only place I've been able to interview for EM positions, and I very nearly got one - the hiring manager said he was set to pick me, but then they decided they really wanted somebody with deep experience at the last second.
Actually, interviewing for an internal transfer at a big company has been the closest I've come. I've also found that the big company is a lot more inclusive; startups tend to be cliquish and if you're not part of the boss's in group you will really struggle. Here, I can get involved with many things and many teams directly, so even if my boss doesn't have a job for me, I can work the network and find my place.
At least... that's the strategy I'm trying now. "We're a growing team and that position will totally be there for you a year or two down the road" applied to 4 jobs over almost 10 years without yielding any fruit. (and 2 of those companies imploded, so I didn't even get RSUs like I get now)
You're right about the other bit, though. Even as the most knowledgeable and senior person on the team, I do have something of a habit of letting people who are loud derail me from my ideas (or simply talk over me), which can damage perceptions. It's a thing I try to fight every day, though.
In fact, my first three jobs all involved reporting to women for a good chuck of it (and they all reported to women too). Those women were all fantastic managers too. Great mentors and great empathy.
Now that I think about it, they were all promoted to management via internal promotions given to them by female managers.
So maybe one tip for you is look for an IC role that reports to a woman who is interested in mentoring you into management?
I don't know what magical place you work at; at the smaller (<250 people) places I've worked at, I'm the most senior woman as a Senior Software Engineer.
There are Female EMs at my current employer (enough that I can't just count them), but they are a tiny minority and I don't know of any at the level beyond that. It is a strategy I've considered, though... especially because women just seem to understand me much better.
Also a mentor or role model would be AMAZING.
I tend to get talked over as well, but it’s a slightly different subject. To clarify I mean that you solve problems without being asked. As they say about actions and words.
Incidentally I've never seen any of those things. At most of the smaller companies I've been at I've been the most senior woman simply as a senior engineer. Reporting to a woman sounds fantastical. I know it happens; I know a couple of female EMs at my current (bigger) company. I've essentially never had a woman in my reporting chain outside who is in the engineering org. (Across 7 jobs and about 15 years of career).
I tend to dress the part anyway and have had interview candidates assume I was the manager and my EM was the IC, but it hasn't been helpful outside of that. At worst, it can cause people to assume I'm non-technical, so it's a dangerous game to play.
That said, you do need to unlearn a bunch of stuff. You have to (at least pretend to) be confident, do things without permission, be self-motivating, etc. It's going to be very difficult to manage people and have them take you seriously if you can't get yourself to do those things.
I've been in a Technical Leadership position for about 10 years, with the last four having an explicit Manager title. If I were looking for someone to groom as an EM, that person would at a minimum have to show a strong level of initiative. You don't need to be "bossy" but you do need to be able to assert yourself while still considering alternate points of view.
I can point out some of the things you need to be, but I can't tell you how to get there.
1. What type of product/service has your team been building?
2. What did you do when 10 non-permission-seeking engineers went off in different directions doing their own things?
2. If you're managing people you should know what they're doing, and immediately correct this behavior. I'm a big fan of the phrase "stop doing that" because, yeah, it happens. By now my team knows that they have agency, but if they deviate from the plan to let me know.
You're right about unlearning behaviors, though easier said than done. I'm relatively self motivated when I'm not interfered with, but when I get negative feedback can easily get stuck in an analysis paralysis loop trying to figure out "what does my manager want me to do?" It's not a good sign when I'm spending time on the question of if I should even ask him or if that will be perceived as me not intrinsically knowing which will reflect badly on me.
And all that stressing about what my manager wants or how a given action will be perceived looks like laziness at best.
I'll admit, part of what I want out of being an EM is external validation that somebody trusts me to lead something. I've had a lot of bad experiences that really undermine my confidence and make me question myself.
An example: at my last job, I had a coworker who made it his personal mission to slow my velocity as much during code review as possible. One of the more egregious examples - he told me to consider using a regex rather than == to evaluate equality of strings. No particular reason. What resulted was an hours long argument... his main justification was that if I had just spent an hour to benchmark it we could have found out faster than the argument took.
You can imagine how when even extremely basic decisions of yours like that are routinely questioned it sucks out your confidence. The lead of that team explicitly had no interest in mediating this ongoing problem, and eventually promoted that guy to be the team lead so he didn't have to manage it. I meanwhile had to plan all my code around the times he'd be out of the office; I could get a month of work done in a week he was out, because somebody else would review my code. I got a reputation for missing estimates, but my timelines were entirely driven by code review cycles and thus at his whim and availability.
And yes, I repeatedly asked to work with literally anyone else, and it was only when I threatened to quit that anybody at the org actually made that happen.
There's a long history of stuff like that happening to me, and it means that I tend to just wait for somebody to tell me exactly how to do whatever it is, because the way I will do it will be seen as wrong. Who can forget the manager a couple jobs before who admitted to creating fake crises and yelling at us over nothing to keep us motivated?
This org is the first one that has actually respected me enough to do more, and where my manager's main complaint is that I act like I don't have any power, when I do. Everywhere else, it felt like they were really trying to make sure I didn't get any, and it's tough to unlearn.
This is apparently because of recruiting, too; we do great at recruiting from campuses, Grace Hopper, etc, and not at recruiting senior levels. Stats show women are getting promoted just as fast, we just don't get the candidates.
Do you know how you guys recruit more senior women? We'd love to know!
She may not have been a great engineer (I'll never know), but she gave us the tools we needed to do our job, shielded us from the upper management pressure and BS and got out of our way. In return, the team shipped a ton of functionality in an impossibly short timeframe that she later confessed she never thought we'd be able to achieve.
Excel at what you're good at and the rest tends to take care of itself.
One of my bigger challenges is that the older I get, the more I care about people and want to work on those issues... which means I gradually lose interest in code and pure technical stuff. The longer I stay stuck on the IC track, the more obvious this is going to become.
Personally, I got promoted from within at the beginning of my management journey. Have you been applying to external companies? I wonder if others on here have more experiences in that area that they'd like to share.
I have tried this on a limited level in the past, and either get no response or get told that I don't have experience (I have a few months with one direct report)