If you think so, I'm sorry for wherever you've worked.
A vs B vs C isn't some fixed thing we're assigned at birth: it's a matter of learning, investing in ourselves, having both humility and pride in our work, maintaining our boundaries and building up our coworkers.
People who have fully replaced intrinsic motivation with extrinsic motivation won't ever get to A level, because the incentives are non-linear. Actual A players keep investing and collaborating, whether they get rewarded for it now or later or never, just because it is the right thing to do.
It's a simple numbers game - the A teams hire rarely and don't turn over staff constantly and when they do hire they pick up talent internally if it exists.
The rest hire as per the quote previously, turn over staff, build empires for their own egos etc. This makes up the bulk of market facing hiring.
This is utterly false. My motivation and I assume most people who go to work is their insatiable addiction to food, clothes and shelter. “Passion is Bullshit”.
Everything I do at work is and has been since 2008 (I have been working a lot longer) is to feed those addictions. While we did get off the hedonic treadmill and downsized a couple of years ago and I focus much more on work life balance, I work hard now not for the maximum comp. But to maintain my autonomy at work and be trusted and because my current job is pretty straightforward (for me at least) and has unlimited PTO and allows us to pursue our travel hobbies.
The reality that nobody wasnt to say out loud is that the top 10-20% of the people you interviewed for a role would all have been just as great as the "best" candidate (and often enough the amazing candidate turns out to be terrible anyway).
If you are hiring for your standard enterprise CRUD developer or “full stack” developer, once you have a few seniors (real seniors not “codez real gud” seniors), you can go down to the top 50%
Or you can hire juniors, and after a couple of years have a whole team of A-players.
It's like the story about the coach who watched two runners run the same time, one with perfect form and the other a total mess. He let the total mess onto the team, and the runner with perfect form got mad, "but I ran better than he did!!!" The coach replied, "I can't help you go any faster than you are, but the total mess is going to be incredibly fast with just a little form."
The juniors are doing negative work. I need people who are neutral or positive shortly after they come on board. Besides that, once a junior gets experience, they are going to jump ship.
My expectations of a mid level developer is once given mostly clear business requirements, they should be able to turn those requests into code. They should be able to handle any “straightforward” task I throw at them.
From the definition I have seen from leveling guidelines:
Straightforward problems or efforts have minimal visible risks or obstacles. The goal is clear, but the approach is not, requiring the employee to rely on their knowledge and skills to determine the best course of action.
I expect a senior to handle “complex” tasks.
Complex problems or efforts involve visible risks, obstacles, and constraints. This often requires making trade-offs that demand expertise, sound judgment, and the ability to influence others to build consensus on the best approach.
A vs B vs C isn't some fixed thing we're assigned at birth: it's a matter of learning, investing in ourselves, having both humility and pride in our work, maintaining our boundaries and building up our coworkers.
People who have fully replaced intrinsic motivation with extrinsic motivation won't ever get to A level, because the incentives are non-linear. Actual A players keep investing and collaborating, whether they get rewarded for it now or later or never, just because it is the right thing to do.