Earlier quoted context omitted.
I think the point here may be that when you’re dealing with an occupation in which the best engineers can pick and chose. Then you’re likely to lose your best engineers unless you’re exceptionally good at managing them. Especially if you introduce boundaries and restraints. I’m not sure it’s naive to view the world like the author does. I’ve worked both sides of the fence, and while I’m now back in software developme…
> the best engineers can pick and chose Sorta. I would take a less-qualified but more personable engineer over their more capable peer any day of the week, for the aforementioned reasons: engineering isn't the only skill required – those who don't insist on managerial perfection don't actually need a lot of managing as a result. It's a positive feedback loop. Also if engineers think we don't check references and back…
One of the reasons I have a lot of job offers isn’t that I’m the best technical engineer you’re going to meet, it’s that I have a large network and is generally seen as a nice person to work with. Obviously my ability also plays into this, but you can be both good at your job and a decent person at the same time. In my experience most people are.
> Play the cooperation game.
Like I said in my original post, I do this, and in my personal opinion experience so so most people. The thing is though, I have a lot of experience (and education) with/in the “MBA” side of things, and a lot of the things you see some companies do, that this article also touches on, like putting up a needless bureaucracy around estimates and time tracking, don’t actually work as intended. Time tracking tends to lead to cultures where the speed of delivery becomes more important than the quality, and estimating things by the hour is frankly just impossible in a field where you can spend an hour on something incredibly stupid and then 10 minutes on some brilliant solution to an issue marked as complex. I mean, maybe my anecdotal experience is from a mediocre perspective, but even after decades of programming I still do the equivalent of talking to a rubber duck, or at least asking my very good friend and coworker to come and spend 5 seconds spotting where I’ve made the obvious mistake (and the other way around), which we have time to do because we’re not on the clock to deliver as fast as possible by the way.
In a world of a lot of shitty business practices, people who can, will take their cooperation game to the place it makes the most sense for them. Including when they are also very personable people.