This article is more than 1 year old
If you fire someone, don't let them hang around a month to finish code
Beware the terminated techie: Revenge is a dish best preceded by an asterisk
Who, Me? With The Great Resignation upon us, depending on which survey you read, we present a reminder that when a programmer has to go… just let them go. Or face whatever form their vengeance might take. Welcome to Who, Me?
We go back to the 1970s for today's tale, courtesy of a reader Regomised as "Thomas". Thomas was working for a consultancy dealing with a national healthcare provider. The lumbering libraries of today did not exist in those halcyon days. No, back then code was optimized to within an inch of its life to make the best use of very limited resources.
"All the code was written in assembler," Thomas explained, "machine code for those who have never got that deep and dirty."
"The code also had to be as small as possible so many tricks were used to reduce bloat, something maybe we have lost nowadays." Far be it from this writer to nod sagely and stroke a beard of purest gray.
Thomas was a freshly minted programmer and was to take over from a predecessor he opted to call "Dick" for reasons that will become clear. Dick, Thomas told us, "was very bright but obnoxious," likely a consequence of wrestling with unachievable deadlines set by managers that lacked a proper grasp on the challenges involved.
Still, Dick persevered. He put in 100 hours a week or more in order to get the code finished. "He naturally wanted overtime," recalled Thomas, "but the management said no."
Dick reacted badly. So did the management, who promptly fired him. They gave him a month's notice so he could finish off the code.
While some might have left a bomb or two in the source in order to make their feelings felt, Dick took his revenge a little differently. You think C is sometimes hard to read? Assembly language is impressively obtuse. Good commenting is therefore essential.
- Debugging source is even harder when you can't stop laughing at it
- The IBM System/360 Model 40 told you to WHAT now?
- Prototype app outperforms and outlasts outsourced production version
- IT blamed after HR forgets to install sockets in new office
So Dick changed all the comments in the code. Sure, they all still looked OK to the casual observer but bore no resemblance to what the code actually did.
Enter Thomas.
"I took over and my first job was to add further functionality to Dick's stuff and of course failed miserably because I looked at the comments to tell me what the code was doing," he told us. Unsurprisingly, management was not impressed, and Thomas feared he too might be for the chop. However, a second, third, and fourth check of the code confirmed it: the comments were all nonsense. Nobody could work out which bits of the code did what.
"So in the end we removed all the comments and black-boxed Dick's cr*p," said Thomas. "I left the project after a year but the black-boxed code ran for another five years until a new consultancy took it over."
It might still be running somewhere even today. After all, black-boxed code does have the tenacity of a cockroach.
And the moral of the story? "When you fire someone get them out of the door immediately!"
Ever been terminated but still had to work your notice? Or were you that manager unable to figure out why productivity declined during a notice period? Share the creative (and non-destructive) ways you got your own back after harsh treatment with an email to Who, Me? ®