The biggest cost of bloat comes from people being nice, it is emotionally hard to replace/rewrite code when the author is still there and not disliked by the team. Basically it sucks to make people redundant, so we try not to, and that makes it look like people aren't redundant even when they are.
For example, lets say you give a project to a competent engineer, he writes a clean and maintainable solution quickly alone. But if you schedule it to him together with another engineer of similar status but much less competent, then the other engineer will take a part of the project and basically block it since the competent engineer is unlikely to to take that fight, and instead just lets the project stall.
You don't get promoted for pointing out incompetence, there is a reason managers hires consultants to do that for them. This made me wonder, are there software consultants who act like management consultants and mostly go in and fire a lot of people? I don't think management consultants would do a good job of firing the right software people, they would need to be engineers.
Yes, but it’s done on a project basis. Kill the project, move the good people to a new project, release the others. Later, resume/restart the project.
It’s really hard to be surgical about this because who wants to be the good engineer that has to pick up the barely functioning pieces of code left behind. Who wants to reward a solid engineer with a big refactor job on an already late/failing project? The optics aren’t great. I’m not saying it never works, but as a general rule, deferring the project is often a better option.
For example, lets say you give a project to a competent engineer, he writes a clean and maintainable solution quickly alone. But if you schedule it to him together with another engineer of similar status but much less competent, then the other engineer will take a part of the project and basically block it since the competent engineer is unlikely to to take that fight, and instead just lets the project stall.
You don't get promoted for pointing out incompetence, there is a reason managers hires consultants to do that for them. This made me wonder, are there software consultants who act like management consultants and mostly go in and fire a lot of people? I don't think management consultants would do a good job of firing the right software people, they would need to be engineers.