You will never make a novel tech product
Or, how existing software is screwing everyone else over.
There are a lot of dead tech companies, and there are a lot of dead software projects. Some were good, some were terrible; some were dearly missed and live on by another name, while others are cursed to hell, rightly buried in memoriam. The software projects and tech companies that survive into today do not live or die by any moral rule, be it of usefulness, design, or performance. They live on simply because other people keep them alive by using them. It’s less like Planet Earth and more like Herpes simplex.
Another thing much extant software has in common with Herpes is that it doesn’t really care what you think about it or whether you like it; it’s just there, and you can’t get rid of it, or you just don’t know how to live without it. Somewhere out there may be a cure for this virtual Herpes, but you’ll have none of it, because you’re too busy suffering to live with it to reach out for that cure. It’s a sad lot.
Tech products today have taken on a totally Darwinian affect in their proliferation, and in the course of this utter domination of our digital lives they have also come to distort our perceptions about what they’re here for, why they’re good, and why they’re worth such vast portions of our very limited times on this Earth. Again, it doesn’t have to actually justify any of itself to you; it merely needs to convince you that you need it, like virtual heroin.
Everything that existing technology has come to entrench about itself also mysteriously comes to self-insert and self-justify at every point of open question. This is the memetic origin of the buzzword status of things like machine learning, Apple Silicon, and God’s Chosen Programming Language. People who are some combination of uninformed, apathetic and worried about the qualitative state of the world desperately search for answers, and it should surprise no one that Faith suddenly summons itself to give them a cause and declare the rest of the world in need of their saving.
Even when people know intuitively what a great novel product may look like, existing software absolutely ruins them time and time again, because people, by and large, do not appreciate the vast and cold nature of the software we all have now.
If you want to change anything about this world, it’s going to start with acknowledging that none of the code you’re dealing with was made for you.
This code was not made for you. It was made for someone else, someone who gets paid to do janitorial work all day every day in a cubicle somewhere; ultimately, it was made for a manager who deputises expendable little programmers unlike you to build their little empires of bits, like Uber.
But even for the managers and owners, these empires are not to be. Not only is it not literally made to be approachable for you, a random human being who comes upon it with no more context than they would a book in a library, it’s also not made for anyone who isn’t already using and actively shaping it with vast sums of capital. That’s right: this nightclub is bumping, and you ain’t even in the door, let alone upstage where you need to be for this to be worth your time.
This is a product of rampant levels of uncritically functionalist programming, piling up for decades. This is also therefore a product of rampant greed from Silicon Valley under the maxim of “move fast and break things.” Well, now that it’s all nice and broken for you, would you like to take a look around and see who went to the bank? You know damn well who got the cheque from this job, and it’s not you or anyone like you.
You will never make a novel tech product until you wake up and realise that this software is here for you only in a very, very limited sense. The software is here for you to the extent that it is a product for end users, and not a shred more, and don’t you forget it. Your software will be usable in the sense that Adobe Photoshop is usable, or in the sense that Age of Empires II: Definitive Edition is playable. Your choices of how to run these things, or whether to run them at all, will be unilaterally dictated by the developers who make them, which is in turn dictated by executives and mobsters who love nothing more than to make sweet deals and carve everything a little finer up amongst themselves, the public be damned. You have no control over your software, and it’s arguably a weird accident of exploitative labour structures that you even enjoy the perception of thinking you do.
Adobe chooses where and how you run “your” software. Hell, these days they’ve got a formal process for planned obsolescence with Apple. Remember when everybody found out about that for five minutes with the iPhone, and then promptly forgot and now it’s like it never happened? Nowadays, you can mark your damn calendars for when your $5,000 piece of aluminium and silicon will turn into a brick. It’s literally corporate policy, and no one bats an eye.
But if you’re making anything substantive in technology—anything new at all—you literally cannot afford to be comfortable with that. Go ahead and waste 5 years making nothing and living out this truth, or take it to heart from me today and forget about all the fancy myths and memes every industry goon ever told you about. Unless you’re one of the cronies profiting off of the ordeal, these developments are as good for you as a protection racket. I can’t speak for anyone else obviously, but I’m not waiting. I’m laying my hardware down today and I’m building good software that random strangers aren’t at liberty to break. You should do the same.
Author’s note: writing this had me so reminiscent of Bill Gates exasperatingly screaming at Altair and anyone else who would listen back in the 1970s that software was the future. Nobody except Apple even remotely understood what he was on about, and today we’re in the same kind of rut, except everyone operates like they know what software is all about. It’s the same thing though: a blindness towards what could be. I plucked a screencap from Pirates of SV in the spirit of that.