Today we will be exploring the negative contribution of those whose impact is continual, relentless and incremental rather than occasional or explosive. These are the common clay of the IT fiasco, the journeymen on the Road to Nowhere, the pack mules of the Deathmarch Project.
Not sure if Programmer is a politically correct term these days. In the 21st Century Developer or the mildly grandiloquent Software Engineer are preferred. I know Code Monkey is frowned on, for sure. Still, call them what you like, if they’re no good, you’re stuffed. This I have expounded upon before so I’ll keep it relatively snappy. But rubbish programmers are the most reliable route to a disastrous cock-up – if you want to absolutely positively and definitively flush a job down the khazi, set some blockheads to code it up. These are the defining traits to look for.
- Thick. A trier, but can’t actually program. Given the task of creating a database table to hold contact details along with a screen to maintain them, the bloke will come back in three weeks with his first pitiful stab. It will display some of the contacts in the database, but that is all. Another week of him scratching his head, pulling his hair out and battering his keyboard in frustration and you will be able to edit the fields on the screen. There’ll even be a helpful-looking Save button, not that it will in fact save anything. Next iteration, the Save button will have a function, which is to delete every single record previously listed in the contacts table. And so on. In the end, you write the code yourself in an evening (1).
- Idle. Takes the flexible working policy and runs with it. He may be in the office for 7.5 hours but between tea-breaks, fag-breaks, chat-breaks, monitoring-his-bids-on-eBay-breaks, buying-gubbins-off-Amazon-breaks and a lengthy lunch spent in the pub or the gym, surprisingly little time remains for the work he’s paid to do. The seriously committed idler will also leverage sick leave, using it catch up on a bit of DIY, spend all day rather than just two hours in the pub, appear as an extra in a film (2), or in the most memorable instance, go on holiday for a fortnight to Las Vegas, no less (3).
- Confused. Not stupid, but muddle-headed. Meant to be fixing a couple of bugs with credit calculation, she gets distracted and spends the next three days helping her pal optimise queries. Or she fixes some different bugs that none of the users have yet noticed. Or she forgets that the last project she was working on got canned and starts back on that again (4). By and large, apt to get the wrong end of the wrong stick, then loose the stick and finally forget why she even needed the stick in the first place.
- Terminally Bloodyminded. Pathologically compelled to make a programming Himalaya out of a technical molehill. What’s needed is a two line fix in one blasted file. However, your man (and it is always a bloke) is adamant that this bug has exposed the entire design as fundamentally flawed. The module must be rebuilt from the ground up as a Generic Engine (5) and this is 100% Non-Negotiable. The rewrite has to be based on a Hundescheisse algebra expressed in Reverse Crypto-Moldavian notation so off he’ll go to write the frigging parser. There are a couple of Open Source toolkits which can help, but neither quite cuts the mustard as downloaded so he will need to rewrite both of those bastards too. It’s pointless arguing. He knows he’s right, with the fervour of a deranged religious convert. No incentive, penalty or threat short of holding a Stanley knife to his neck (6) will divert him from his Crusade toward Technophilic Utopia. What should have taken a day or two runs on for weeks. And weeks. And more weeks. Naturally it’s never finished as the goal is Perfection. There is always another class to refactor, another 3rd party library to include, another lily to be gilded, another wheel to be reinvented.
All four of these qualities are widely available within the programming community. As a rule of thumb, Idle and Confused are less damaging and can be worked round easier, so seek out the Thick and the Terminally Bloodyminded for guaranteed results.
Options for Failure: to ensure disappointment, always select Thick and Terminally Bloodyminded (Vogon Guard, top) ahead of Idle and Confused (Jeff “The Dude” Lebowski, bottom).
A real mix. At the shop floor level, the systems department will randomly throw up diamond geezers, cretins, steady plodders, nutters, genius bodgers and jobsworths at a roughly steady ratio of one part great to two parts OK to three parts Dear-God-No-Not-Him. The good ones are cut from similar cloth to good developers, but less quirky and not so far along the Autism Spectrum. Having one of them on a job is a joy. Machines are set up and work fine straightaway. Some box stops responding, it’s spannered back to life in an hour. The system coughs and falls over in a heap but by the end of the afternoon this is tracked down to wonky config on the load balancer which is fixed before hometime.
But at the other end of the Talent Ladder (7), the incompetence can be astounding even compared to the wobbliest software engineer. A couple of steps up from the bottom rung, you may as well be dealing with a robot. He can enter and run the commands he is given, without question or comprehension, but that is all. Setting up a piece of kit is akin to driving the Mars Rover. Transmit an instruction from Mission Control and 20 minutes later you get back a grainy, blurred report of what actually happened. If you directed it down a ravine, there it will be in bits. Same with Sys Admin Robot Boy. If you tell him to run a query which deletes every single record from the main transaction table, that is exactly what he will do. If you told him to squirt mayonnaise in his hair and go and sit in the broom cupboard, he would have done that too, so long as you had filled in an ITILS-compliant change ticket for same and had it approved by the appropriate authorities.
At the absolute bottom of the Talent Barrel, the chap won’t even be able to copy and paste reliably. What you get, in effect, is a hopelessly inept copy typist and the results can be catastrophic. You have, say, been testing the system for a day or two and getting all sorts of inexplicable errors. One of the developers then figures out what is wrong: only about a third of the upgrade script has been run. No-one can work out why this should be until someone chances to open said script in Notepad. It is just over three screens long. The piece that was run by Clueless Database Administrator is precisely that which is visible when you first open the file (8). And now you pine for the return of Sys Admin Robot Boy. At least Sys Admin Robot Boy had mastered the use of the Page Down key.
But look on the bright side: about half the time you will actually be working with someone who knows what they’re doing. Sadly this 50% competent-or-better hit rate does not extend up the line from the wires’n’boxes proletariat to those who are ennobled into the systems management hierarchy. In the Infrastructure world, it is not the cream that floats to the top. Some other stuff does. Semi-solid and whiffy, in various shades of brown.
Scum. Bullying, bureaucratic, arrogant, idle, shirking, duplicitous, pig-ignorant thugs, every man jack of ‘em, almost without exception. Three out of a hundred do not confirm to this pattern and are instead charming but fabulously slippery spivs who are so Teflon-coated, oily and elusive that getting accountability, guilt or a piece of work to stick to them is as difficult as coating a live eel with a layer of greased jelly using tweezers.
But your mainstream bullet-headed redneck Data Centre despot has no use for such subtlety. He doesn’t avoid conflict, he looks for it. He revels in it. He loves to say No. And he will say No, any time you want to do anything on his precious bleeding server farm. You want a new server built. No – the capacity planning process hasn’t identified a need. You want to install some software. No – it isn’t included on the approved build list. You want to move files from one server to another. No – Data Protection concerns. You want to add one line to a config file. No – no test cases, no backout plan, no evidence whatsoever of adherence to Change Management best practice. You want a new firewall rule so that our server can talk to someone else’s. You know, so we can exchange data so we can maybe do work and perhaps eventually get paid. Nay, Nay and Thrice Nay – connection across the internet ? To a third-party server ? Alien data entering and polluting the essential purity of our sanctified Data Centre ? Are you stark staring mad ? Have you not read the 308 blessed pages of our Corporate Information Management Protocol ?
Each of these Nos stops you dead in your tracks. You have been given a job to do. You need to make the firewall tweak / repartition the database / upgrade to KlungeProTastic version 2.5.97a (delete as applicable), otherwise you can go no further with your important assignment. Likely many senior personages have approved your project plan, validated your design choices and approved large wodges of dosh to make it so, and now some tin pot Pol Pot is telling you to go piss up a rope. And so begins a familiar routine, starting with a visit to the stronghold of your garage-sale Gadaffi. It won’t be a fortified camp in the depths of thick tropical jungle, still less an opulently appointed Bedouin tent guarded by a crack battalion of nubile Amazonians, merely an anonymous suite of offices and machine rooms peopled by far-from-nubile middle-aged blokes in nylon trousers and short-sleeved shirts. A series of meetings over several days will follow, starting with the outer circle of low-ranking henchmen. Their opening gambit will be that you should follow the Systems/Infrastructure Recommended Model for data transmission. Rather than plough headlong into the folly of opening up a port on the firewall, why not encrypt the data, write it onto an 8-inch IBM floppy disc preserved from 1975 (the only storage medium fully sanctioned by the Systems/Infrastructure Centre of Excellence) and send it via registered secure carrier pigeon service. What on Earth could be simpler ?
Very very slowly, one braincell and one meeting at a time, you chip away at the idiocy as you proceed up the systems management chain to ever more senior lieutenants. It’s a live action version of the dullest video game imaginable. In each meeting, in order to advance to the next, rather than firing a neutron torpedo into the core of the central reactor you must instead wheel in one of your senior personages to sign off a blindingly obvious and sensible decision which the current Level Boss has serious concerns(9) about. You start by invoking the Chief Architect, then it’s the Head of Development, then the CTO, then the Chief Exec, then … I dunno … Kofi Annan ? The Dalai Lama ? The Pope, maybe ? By the time you reach the Big Boss, the Arch Grand Panjandrum of Global Service Delivery(10), The Abominable No-man himself, you will have collected sign-offs absolving him and his minions of responsibility for absolutely anything that might possibly happen. This of course was the plan all along. Any project, any change, any work is against advice, not recommended, over his dead body but grudgingly tolerated with a shake of the head, a sucking of the teeth and a woe-betide-you-sunshine-mark-my-words-my-boy-it’ll-all-end-in-tears. The only Services rendered are those of timewasting and condescension, and the only measurable Delivery that has happened is of future blame, from him and his crew directly and entirely into your lap. Whatever goes wrong, he told you so, he advised strongly against and it’s All Your Fault.
In other times, these petty mean-minded men would perhaps have been Quartermaster Sergeants, refusing to hand out cigarettes to National Servicemen on account of them not having the right counter-signed chitty, whilst simultaneously snaffling all the extra chocolate ration themselves, the bloody swine. They might have died out as a human sub-species with just a few hanging on as customs officers, were it not for the arrival of The Information Super Highway. Before the ubiquity of the World Wide Web, you could do what the hell you liked with PCs. Nobody really gave a toss until about 1996. Then suddenly there were apparently legions of hackers poised to pounce on the slightest vulnerability and deadly viruses lurking in every email, and so control and procedure and process and governance had to be established at all costs. Ergo the tedious Systems Stalinism we suffer under to this day.
As always what we lesser mortals struggle to express in a few hundred words, Scott Adams skewers in three cells.
(1) An actual example from the author’s long and miserable experience of bungling incompetence.
(2) No, really. See (1).
(3) I am honestly not making this up. See (1).
(4) Again, see (1).
(5) Whenever the words Generic Engine are mentioned, abandon all hope. See (1).
(6) Tempting. But don’t. Not in Europe anyhow as you’ll be up for Gross Professional Misconduct as well as GBH. Political Correctness gone mad, eh ? In North America, where they embrace the more robust approach to man-management, it’s probably fine.
(7) You may not have encountered the Talent Ladder, but you have perhaps encountered one of its cousins. Maybe the TalentWatch Matrix, or the Competency Framework, or the Perfect Performance in Perpetuity Principle, or the Excellence Unlocked Initiative, or any number of other blood-chilling Human Resources brainwaves. If none of these ring a bell, consider yourself truly fortunate.
(8) Yet again, see (1). This happened. It took us quite some time to figure out that the gormless oaf purporting to be a DBA had only run the first part of the script. A full week was then wasted pratting about with change control regulations before we were graciously permitted to run the missing two thirds.
(9) Use of the word concerns in this context should be punishable at the very minimum by a good hard punch up the flump. See here (link to https://itshambles.wordpress.com/2012/02/12/bad-language-i) for an extensive catalogue of unacceptable bilge.
(10) Service Delivery is the current go-to-phrase for what we use to call Infrastructure in the 80s. I used to fulminate along the lines that there wasn’t a right lot of Delivery or Service going on, until I realised that Service is being used in a different, more abstruse sense. As in the phrase “the boar services the sow”. They’re going to Deliver you a right good Servicing. For sure.