I've worked with too many engineers who got a lot done by making it hard for anyone else to get things done. I think there aren't very many 10x engineers but there are a lot of 4x engineers who make everyone else .4x engineers.
I was a lot happier and less busy trying to be a 3x engineer making everyone else into 1.5x engineers.
Ideally, this is how it works. Ideally you could even be a 0.5x engineer and make everybody else a 3x engineer and the team would still come out ahead.
That sort of work often goes unrecognized though, if you are an in-the-trenches engineer. Unless your manager is pretty hands on and spends time “in the trenches” with the team they won’t see that. Most organizations reward selfishness and punish benevolence. Not on purpose. They just can’t see it, because they are too far removed from the work and benevolence is nontrivial to measure. So it takes a back seat to trivial measures.
The first time this became an issue for me I pointed out that I'd saved a frustrating half hour a day for our dev team by making a series of QoL improvements. Across the team that was well over 40 hours a week. If you do things that make other people faster but not yourself then you look bad... to a shitty boss (and Mike was the shittiest I've ever had.)
These days I'm more likely to fix things that bother me and then share them after they're debugged. And often after I have my fingers in something new.
It makes me wonder if the proportion of 'scratch your itch' projects wouldn't be lower if people weren't disillusioned by the process of doing something solely for other programmers.
I was a lot happier and less busy trying to be a 3x engineer making everyone else into 1.5x engineers.