We have had this on our team before. Our problem bad apple was someone stuck in a programming mindset of well over 15 years ago and more importantly deathly afraid of anything remotely new. Having been hired before any of us, he had been able to convince management that his world view was actually still how it was. I was actually in a debate comparing the performance reliability of an Oracle database against a dBase file.
What is worse, all problems that were had for sometime were blamed on new technology. Database corruption (dBase) blamed on that new Win Server 2003 SP2 server it’s on for example, Win 2k was suggested because it had a better file system. Things like this completely frustrated the hell out of the rest of us.
Communication was also a problem, emails sent from him reminded me of a 4rd grader learning to type for the first time. Almost incomprehensible - 20 sentence paragraphs, missing important punctuation, or the exact opposite (overkill), and spelling anything over 5 letters was a challenge. But management just wrote it off as he’s busy!. Now we had to decipher what exactly he needed us to do. Worse, he was near silent in meetings, and could never explain his position or why something “wouldn’t work”. It was useless interacting with the guy, and I can tell you very honestly we all tried our best.
I wish I could say there was one thing that finally convinced management that this guy was really something time forgot and a dud. (We actually thought he had naked pictures or something) It took several years of pain before people started realizing that projects built that didn’t involve this guy actually worked, usually timely - and more importantly didn’t have to be debugged for a few months after release.
If I did have to pick one turning point, it was when we realized as a team that these old programs processes this guy had worked on for years, while always seemingly complex as they constantly errored out, produced bad data and the guy was up all hours of the night working, were actually quite simple. We took the source code, and started porting them into our new environment - and quite simply made them work. We were actually shocked at how little code they guy actually had written over the years. We were expecting well over 75k lines to deal with, and it ended up being less than 15k. It was completely void of any internal validation, everything had to be perfect for it to work besides relying on a huge set of assumptions. Overall, we went from 15k to about 24k. He called it a waste of time, bloated, and wanted management just to ignore it, but we convinced them that there was nothing wrong in letting us at least test it.
In short, our ported new and validated processes completed nearly 2 hours faster and produced correct results. This used to be a 5 hour process. We didn’t get to know we were correct for another 36 hours, as magically - the old process broke in front of everyone (as we always knew it did privately) and took a full day and night to correct in production. After our CFOs review - ours balanced - his did not.
Publicly he resigned. We could easily have been 2 years ahead of where we are today if he hadn’t slowed everyone’s progress. His world was filled with fixed rigid rules that even a slight temperature change would break the system kept everything held back to the lowest common denominator.