When I interviewed for a programmer/analyst job at one company I was impressed by the high-class technology and excited by the opportunities it represented (“You could be a god here” was mentioned several times). Shortly after starting work another member of the company’s four-person development team took off for greener pastures with a year of employment under his belt. This programmer, whom we’ll call “Jim”, had been the sole developer on a revolutionary project we’ll call “Plus”.
Plus was intended to be a company-changing desktop application giving remote field technicians the ability to record site visit information offline and later “sync” it with the company’s servers. The product was released straight from Jim’s development machine to production on 150 technician laptops just two weeks before Jim’s last day at the company. Being the only available developer, I was assigned to the project in his stead.
“Jim used to be at IBM,” the boss said. “I worked with him at my last job and brought him over when I was hired here. He’s a top-notch programmer. You shouldn’t have any problems with his code.”
And that’s when I found out what “you could be a god here” really means. When people are happy with a god people have sort of a vague “yeah, he’s cool, no smiting lately” attitude” when you bring him up. But when they’re pissed about something, anything , all you hear is blasphemy and threats of atheism.
On one hand, I did get a god status. On the other hand, there weren’t any bonus points for lack of smiting. As the bug reports and shouts of anger began pouring in, I started looking at the Plus code and found more and more reasons for god-to-god smiting action. Following are some of Jim’s code comments verbatim:
/* ---------------------------------------------------------------
@author [Jim's real name here], [his side company's name here] LLC
Date: 2008-4-18
Project: Departed Friend
--------------------------------------------------------------- */Hmmm…seems like a bit of egomania here. The project’s name was definitely not “Departed Friend”. And…putting your one-man “consulting” company down as the author? Chintzy.
// Give it some time to complete the save.... This is just a guess // and is not good code, but owell when you read this I'm sure I // wont be working here anyway
This one really toasted my tootsies. At the time I was naive and thought good programmers felt a responsibility to write maintainable code. Boy, was I dumb. The code below this comment added a five-second delay to the application’s closing to prevent an exception in case the autosave mechanism happened to be running. The delay had no actual relationship to the autosave mechanism – it could have kicked off at the last second and still caused the exception, so the it was absolutely pointless.
int n = JOptionPane.showConfirmDialog(god, "Are you sure you want to cleanup files older then 40 days that we have a more recient copy of? Why I ask is that this step will tie up your computer for some time, so is a great item to run when you have a coffee break or before you go to bed.", "Are you sure you want to cleanup old useless files? ", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
Holy piquant pineapples, Batman! Definitely one of the longer (and more ridiculous) modal pop-up dialog messages I’ve encountered in an internal product’s code. Kavya Shivashankar (world spelling bee champion), you can rest easy.
// Yeah this is the cheap mans way to use a lot of memory for something that most likely will not be visible.This gem was above some code that instantiated up to 5040 JTextFields and added them to a Swing container – and immediately made them invisible. Jim was trying to present tabular data to the user and, instead of using a JTable, used 7 JTextField arrays to represent 7 columns of data. Is anyone surprised that one of the loudest complaints about the application was its abysmal performance?
// Its not returning the number I thought it would so we will just // waste CPU time for (int i = 0; i < 2000; i++) { }
Hurts…so bad…can’t…comment…
//TODO verify that this is all of them. IF they added for more people then this is not good enouf but its 11:00 PM and im on #4 of the IPA here so this is as good as it gets for a friday night at a brewery. :-)Jim worked remotely from another state 668 miles away. He obviously did some of his work at the bar. This does not surprise me.
As I found, they should have paid me more.
Comments