So you have this weird contradiction where you're expected to work as part of a team, but then measured on your own contributions in a vacuum. So if you take credit for the team's effort, you're the bad guy who gets rewarded, but if you admit it was a team effort and take credit only for your contributions, you're forgotten for not having enough impact.
E.g. if I add some new feature to a tool and deploy it, I'll say "we've just pushed X...". If I do 99% of some particular feature, I'll still say "we've added Y...". In an annual review I can still speak to what I specifically did. I have probably been lucky in the teams and team sizes I've been in, but I've not had a problem with this.
For context I've mainly stuck to small (<50) and medium (<500) companies. My one experience (due to acquisition) of directly working within a 5000+ company was certainly starting to feel like what you described, I got out.
That means that if all you did was work that only involved your own labor instead of work that involves being over an initiative that involved other people, you can’t be promoted above a mid level developer (no matter your title). You didn’t show that you can work at a larger “scope”.
You can look at the leveling guidelines for almost any tech company.
Even if you are a mid level ticket taker, you should at least try to talk to whoever your project manager is and take responsibility for delivering an “epic” or “workstream” that will show that you are coordinating a larger deliverable.
In sufficiently small companies yes it makes sense for everyone. In larger and more regimented companies doing the Greenfield project can (and often does) lead to promotions and higher earnings.
Teamwork is fine, but when salaries and promotions are individually negotiated you have to look after number one.
The level of politics, promotion, promotion packets, leveling is a whole different level. That is not to start on PIP, hire to fire, etc...
You need to know the game if you're going to play it.
I have the highest rank and salary on my team. I am more than happy to send high visibility work to my aspiring team mates. What goes around comes around, if not in the form of immediate salary then in the form of connections and references down the road (which is a much bigger driver of salary and rank anyway).
Playing a zero-sum game at work at the expense of your colleagues is penny wise, pound foolish, even if you truly do only care about yourself.
I'm not against spreading credit. I'm against misrepresenting situations to spread false credit, which creates incorrect perceptions and leads to poor decision making and political tension. If an individual did a unit of work, I will acknowledge that, to the extent that it is true. If an individual jumped on a grenade and did unpopular work, I will praise that individual for doing that work.
This is not antagonism towards teamwork, it's to make the team function better by ensuring information propagation is accurate, that the people pulling the weight in the team feel recognized, and that free riders are held to account which is a form of respect to the productive team members.