Commentary: Given these examples of extraordinarily “janky” code, it’s a wonder organizations can function at all.
Years ago Princeton CITP fellow Benedict Evans correctly reminded us that “most of enterprise has yet to move to Web 2.0, or even Web 1.0,” and when (if?) they eventually get to Web3, it’s going to be shakily standing atop some pretty crufty Web 1.0 code.how we are “building skyscraper favelas in code — in earthquake zones.” Tufekci’s point was that there’s very little greenfield code in an enterprise: It all builds upon existing code, resulting in less-than-pristine code to power small and gargantuan enterprises alike. Hence, while Twitter is buzzing with the promise of Web3, analyst
Don’t believe me? iRobot’s Brandon Rohrer asked people to describe “the jankiest piece of tech you’ve seen a company depend on.” The answers, well, let’s just say the answers should fill us with wonder that our software-driven society functions at all.
SEE: 10 ways to prevent developer burnout (free PDF) (TechRepublic)
Best to close your eyes
To be clear, not all enterprise software is like this. After all, Rohrer asked for examples of “the jankiest” code people have seen running. But odds are good that something like this is running in your enterprise, too.
And, perhaps, that janky code might be handled by folks ill-equipped to manage it. As one respondent (“Erin”) told Rohrer, “One group had to perform complex calculations for all our 60k+ clients, had no IT support and were entirely staffed by 22 yr old business majors who had never heard of databases.” What could go wrong? Well…”They created an insane Excel sheet, 1 copy per client. By the end there were TERABYTES of Excel sheets, each containing tons of sensitive personal info, stored unprotected on a giant shared drive.”
Let’s just say that this doesn’t sound like “best practices.”
And then there are those organizations that rely on ancient technology. I suppose we could look at this as a testament to the quality of the products in question, but here are two examples of companies running on decades-old Windows technologies.
Jean-Marc Alkazzi related how he “worked at an insurance company where all financial data was stored on 1 dusty Windows NT 4 server. The day before closing the fiscal year it crashed and couldn’t connect to the [Active Directory]. Had to search for drivers and OS patches on Archive.org and use 3x 💾 to boot from… .” Not ideal. But also not as scary as this from Travis Dawry: “The UK’s Trident (nuclear weapon) submarines still run on Windows XP.”
There are also stories of nameless machines that are running for reasons unknown to current employees, but no one dares to turn them off. Take, for example, this from Lukas Brausch (Figure A):
Well, what about a time when one of those anonymous machines stopped working? According to Delip Rao, “In the very early days of Twitter, a production facing service was deployed on a Mac Mini that just lived on the floor next [to] a bunch of random things and cables. Every time someone tripped over the cables, it would disconnect the Mac Mini and the service would go down.” Nor is Twitter alone in this, as Mike Fosker noted: “[I] worked somewhere where we only found out that two clients’ websites had been running from a PC in the corner when we threw it out.” Or this one from Jason Gerard? “The actuarial dept for the workplace div of a very large insurance company relied on an app running on a[n] old desktop under the developer’s desk. He had a stack of 3 and always forgot which one was ‘production’.” What could go wrong?
SEE: Metaverse cheat sheet: Everything you need to know (free PDF) (TechRepublic)
Plenty, it turns out. But sometimes this janky tech just keeps plugging away, like this story from Dr Lyndon Walker: “An IBM XT PC running key switches in a telephone exchange for a whole suburb. It was on 24/7 for 20 years before finally catching fire and burning down a chunk of the telephone exchange.” Twenty years? That’s an eternity in tech. Let’s hope the “favelas in code” are running on IBM XT PCs. 😉
Disclosure: I work for MongoDB but the views expressed herein. And, any janky code I write are mine.