As I am a professional software engineer, I get to work on a lot of code, and most of it has been written by others, usually touched by quite a few.

While I get to learn a lot from seeing how others do things, I also have to deal with a lot of things that drive me up the wall.

Simple things include weird indentation rules they use (or lack thereof, even). That's not too hard to deal with. Or maybe the fact they seem to use an editor with like a width of 150 characters and the standard width of 80 characters causes word wrap everywhere I look.

When they seem to ignore the templates that are being used is also annoying. There's a section in the header of comments used to record who made the change and what they changed. Of course it seems half the people can't fill this out properly.

Or maybe it's being unable to properly follow the format that's supposed to be used. I've run into this lately doing unit testing, watching people name things wrong, write tests wrong, ignore things that need to be done, and even manage to change something to cause existing tests to not be able to compile and run properly. Of course this could be from the fact that they seem to refuse to read the documentation.

The worst are people who don't bother to consider the cyclomatic complexity of a function while working on it, and have no concern for the person who must achieve 100% test coverage on the function with a complexity of 90. (For those that aren't familiar with complexity, that means there may be up to 90 test cases necessary to completely test the code).

How am I supposed to be able to do anything in an environment where I have to be a code janitor and fix other peoples' mistakes because they won't read how it's supposed to be done?