I had quite a bit of feedback from my previous post, so I figured I'd step up and do Super Villains now.
The Doc-inator
Credit to sam on this one. This is the developer/manager that demands excessive documentation. Instead of embracing a policy of clear and concise naming conveyntions (self documenting code), this villain demands that every single property and method receive a full documentation template header. Even if the comment for the property LastName is 'last name of user, it must be documented.
The Doc-inator takes perverse pleasure in binders and anything that can be compiled that will never be read by another human being.
Copy and Paste Guy
This villain has absolutely no concept of promoting commonly used methods so that all calls go against a single bit of code. Copy and paste guy not only has the joy of increased maintenance time while he tracks down the 15 places the same bit of code is running, but also is commonly known to propegate errors through each instance. Copy and paste guy also plays a nasty trick when they have the same functionality copied in 9 pages and then on the 10th it's only slightly different which can cause logic errors if it gets copied over in a rush.
The Anti-Google
This particulariliy nasty villain not only wastes their time but yours as well. This is the villain that is seemingly incapable of running any error or programming question through google before coming to ask you. Hours and hours of time are wasted while you hold their hand through doing a google search and finding the appropriate solution. What makes the anti-google particularily dangerous is that they are willing and able to complain to your superiors about you "not being a team player" if you don't answer to their every whim.
The Source Control Stopper
This is the developer who checks out the project file and then leaves the office, effectively preventing anyone from adding or removing files from said project. That's not all folks! The villain in question also has the annoying habit of checking in code that breaks the build. If that's not enough this coder will check out a few files for weeks on end, make changes, report them fixed, and then act astonished when they don't show up on the production server.
Dr ToolHater
I'm sure you all know this villain. This is the villain that absolutely refuses to buy any third party component to make their life easier. This villain demands on spending 6 weeks to create a custom date control that is inferior to a date control you can buy from any number of vendors for < $300. This villain is particularily annoying when their passion for creating inferior clones of commercial products is combined with a clueless executive who thinks no matter how much time it takes it's ultimately cheaper and more flexible to build everything in-house.
There's a time for build and a time for buy!
The Zealot
The zealot comes in many annoying forms. The zealot who spews whatever marketing garbage of the day is on Slashdot, the Google Blog, or Microsoft's latest paid for linux comparison is bad enough, but can be ignored. Where the zealot becomes a true villain is when they bring patterns, languages, and third party utilities in without talking to anyone else on the development team about it. Then suddenly one day you have to go in and edit one of their projects and wtf...? There's an application that's damn near unmaintainable without a severe learning curve because they brought in a bunch of unapproved crap!
Darth XML
Don't get me wrong, xml and config files are great when used appropriately. Darth XML however takes their love of XML to unhealthy extremes. String parsing galore, Darth XML will not rest until every possible bit of logic has to somehow be connected to config files parsed at runtime. Darth XML is the father of passing datasets over remoting and also seems to have a distaste for intellisense. The worst case I've ever seen was an entire sql database mapped out into a single config file...
The Project Manager From Hell
The most infurating of the management lot is the project manager from hell. The project manager from hell is often an ex-techie and as such knows just enough to be very very dangerous. They often search for the latest trends and pick up buzzwords from the latest Microsoft articles to "try out" on the people around them in an attempt to look knowlegable. When teamed with Darth XML, you can end up with a half assed attempt at SOA and webservices all over the place that aren't being consumed by any other systems.
Posted
11-22-2005 2:49 PM
by
Eric Wise