I often wonder if I deserve the kind of money I make doing software development. But then, on second thought, I realize that (most) everyone else does such a poor job compared to me, takes twice as long or more, and often has little or no interest in what they do. Over the past 8 years or so, I'm still surprised how much some developers, well, suck.
I was working with an oversees developer who was trying to test a piece of code that sends a request to a server.
It turns out he copied and modified my unit test, and actually deployed it to the application server, with a "main" method. This was a unit test mind you and was written to not send requests to anybody, but just send requests to itself! And so, ignoring what it actually was designed to do (testing) he asked why the response he was getting was always identical. I explained that the response was "canned" because, it was just a test case. The code actually read:
// assertEquals("10007N-M0725WK-M132743EF-SNU05S", m.getExternalMessageId());
My "assert" was commented out by him. And after I notice this, he then sends me a chat message:
(6:42:55 PM): it always returns: MessageID 10007N-M0725WK-M132743EF-SNU05S
Please, read the code first.
And recently I ended up taking over some critical project. Earlier today, I removed hundreds of lines of useless code. I removed about 20 crap files on Friday. I was hoping to get going on actually writing some new features, but there's going to be a lot of brush clearing for the next few days. Biggest problems: Long parameter lists, everything "typed" as strings, meaningless and long comments, fear of Exceptions for error handling, "Util" methods everywhere, and components that reference every other component.