1. Work at Meta
2. Be top performer
3. Get promoted to manager
4. Manage <5 people as a newbie manager
5. Get fired because you don't manage enough people
Or, alternatively:
1. Work at Meta
2. Be top performer
3. Never get promoted
I don't know, this doesn't make me want to work at Meta. Certainly not as a top performer.
The best people I've worked with stayed in the same role for 20+ years without any promotion. They did great work, knew exactly what to do and didn't have to play the politics game to get some favorable review for promotion. I wish more companies would encourage that. Even in tech, the world doesn't change as quickly as we sometimes think.
I'm not in the demographic anymore to be hired by Meta, but I'd definitely choose the second scenario over the first one 10 times out of 10. Managing people is a chore.
I don't work at Meta, but if its anything like where I currently work, the ones who become "managers" have no correlation to coding performance, or perfomance at all for that matter.
Which is a good thing. You should be become a manager because you think you would enjoy being a manager more than being a coder, and are passionate about being really good at managing. Being good at coding doesn't mean you'll automatically be good at (or enjoy) dealing with admin, budgeting, resource planning and personnel issues.
I've been managed by truly brilliant coders who just wished they could go back to sitting in their office and code. No one was happy with that situation.
I didn't write it out, but our managers have no idea of the code at all. They have never been programmers. Hence the programmers sit around all day, like posting on HN, and not much gets done at all. But hey they are surely really passionate about managing.
Depends on the location. I'm an Engineering Manager at $FAANG (MANGA?) and I moved into management after senior engineering roles. At the same time, I'm still programming a lot in my "free time". Your experience doesn't apply everywhere.
As for motivation (I know no one asked): I genuinely enjoy the human aspect of the job and thinking further out into the future with product and engineering leaders. Plus I learned that I really enjoy programming when it's a hobby without the corporate overhead, and that it's less fun (to me) in a company.
Not to discredit your experience - but it's not a universal truth.
At Meta and pretty much all other tech companies Engineering Managers have to have been decent programmers first, so I'm not sure what you're describing applies there.
Cases where managers are appointed to oversee dev teams without having any engineering experience at all are more common in non-tech companies. Those situations can still work, but rarely work well.
It's not about will, but the managers capability to oversee what is going on. Since they dont know anything about programming, they cant even really know if someone is slacking, or working really hard.
Which is a discussion of what they are supposed to be shipping. Usually a description of a program, in text. A discussion that very often ends in court over disagreements. Have you ever worked on a commercial software?
It's my first gig, so my options are limited. Things might still shake up when people start asking where all the money is going. But I've also come to realize that my situation is not unique, there's a lot of non-work going on in modern tech.
We do, they named the least productive yet most experienced gentleman to "teach lead" to lead the scrums because they started getting a notion that not much was getting done. This is the guy who love writing documentation (One A4 per week of 40h hour, about). The end result was nothing changed: "I am working on X", "OK, good good" and nothing really gets done. Then the customer started changing the demands 9 months into the project which justified the inproductivity even more. It's all around just a shit show.
For most FAANG companies, it's IC -> TL -> TLM -> EM, unless you explicitly insist on remaining IC/TL (and then you're on the chopping block, because promotion trajectory for ICs becomes very, very slow beyond a certain point).