They don't exist to make good people more productive but to make mediocre hires marginally productive.
They don't exist to make good people more productive but to make mediocre hires marginally productive.
To be honest, my own senses were numbed by being a yes-man at a corporate job. My job title made it sound like I ran the world, but much of the work I was made to do was simply idiotic. And I was very happy to toe the line because it was easy, you could always spread blame and I didn't have to think much. Then I realised I have a limited amount of time on this planet and decided to do something more useful with my time...
Another example I've talked a lot with my colleagues is company wide coding style definitions. They usually have stuff like "never ever use goto", but then you have Linux kernel code using goto, and it seems all weird. But here too the coding convention that feels "stupid" to the rockstar coder is in place to make the code of the summer intern even remotely usable after they are gone.
I actually found a goto in a C# project I took over this year and one of the first things I did was change it to a while loop with a break.
Most situations (e.g., early returns) for which resource management would be handled by a goto are already addressed by RAII.