Tech company? No, software, hardware, or data company
Separating big data from big tech to illuminate a more positive technological future.
In their endless quest to hold on to their money and relevancy, dotcom mobsters have overloaded the meaning of tech company to be quite duplicitous in the past fifteen years or so. They heralded the rise of software as a service and its Tyrell-like backbone called cloud computing, and in doing so paved the way for the software company to be re-imagined as a data company.
This has had profound consequences for the veracity of software, as well as an ocean of corrosive social consequences that are beyond the scope of this weblog for the time being. We can, however, touch on several big points downstream of this conceptual change:
The profitability of these ‘tech companies’ depends not on their software but on their monopolisation of user data
The size and complexity of software projects, measured in code volume and head count, has invariably exploded
The social independence of programmers has been all but quashed, balkanised into sinecures of varying levels of autonomy that pose no threat to the new order
Data, not software
I have said before without elaboration that as recently as the late 2000s, Apple and Microsoft were companies of a dying breed: they were software companies at their base. Of course, Apple was also a hardware company, and so was Microsoft to a lesser extent, but software was their bread and butter. In keeping with the times, they began trailing Google, Amazon and Facebook in the quest to also be model data companies.
Data companies are not software companies any more than software companies are hardware companies. Sure, they overlap, but it’s not their forte, and they could be pretty awful at handling such a peripheral concern and still make gobs of money without worry. After all, the users cannot leave the product without paying the cost of giving up their collation of data about themselves. Likewise people will put up with inefficient software as long as it is otherwise pleasant to use.
Any profitable data company will be holding such user data hostage from its benefactors. Many naively try to sell the data off to advertisers, while more clever firms monetise users’ attentions directly. After all, they’re still not going anywhere when the data that they want is so monopolised. On the lower end of the curve, particularly dumb efforts have abounded, such as this naked attempt at data robbery from American Telephone & Telecom. We’re fortunate that it is relatively straightforward to defeat this; what would it take to do so for tougher challenges, like social media companies?
Software is exploded
The state of software development is absolutely exploded beyond approach by anyone but the most well-funded. Companies like Google have led a Long March through the software industry for well over a decade at this point, stuffing endless amounts of unjustified complexity into protocols, standards, and all of the software that implements it. They pounce on every possible opportunity where some group of math nerds have some pie-in-the-sky idea and then bankroll them to build it out, over and over and over again.
This is their competitive edge, and it’s a compounding one. The problem? The human race loses out. Turns out that creating mountains of code that no one really understands, and papering over this state of affairs with newspeak phrases like ‘tech debt’ and ‘institutional knowledge’ is a loss for humanity in the long run. Who knew?
‘Institutional knowledge’ is a really Orwellian one, too. It gives you the impression that somebody, somewhere wrote down the details in a giant dusty tome. They didn’t, and that’s the point of the phrase. It exists only in the memories of the people who came up with it, like Jack Dawson in Titanic.
‘Tech debt’ is just straight up horse shit imported by bankheads from New York. No, you don’t buy your way out of a shit codebase; you rewrite it. This is also totally avoidable by planning ahead and thinking things through, admittedly foreign concepts in this tin age of ‘move fast and break things’. We’ve institutionalised the act of deliberately writing bad code out of a combination of laziness and greed.
Software is literally so unnecessarily complicated that it is not realistic to build anything creatively anymore except in tight, deliberately carved-out veins that were left open by our dotcom overlords to feed upstarts into. It is constructed in a way that always reinforces and feeds their existing hegemony over technology.
Don’t believe me? Do you recall how they were trying to kill ad-blocking in Chrome? If you can understand the motivation there, can you conjure a serious theory for why the fuck they aren’t approaching everything they touch like that? Intention matters, and the proof is definitely in the pudding. Look back to the garden of web 2.0 projects in 2008 (if you can remember at all that ‘web 2.0’ was originally not a fucking synonym for FAANG), and notice how there’s nothing like that now that you ever hear about. It’s all bankrolled, and it always feeds FAANG. I wouldn’t be surprised if a good chunk of those startups are straight up money laundering fronts. It’s too easy.
Welcome to the rent seeking
Even if you do feed into their hegemony in this way, you still have worse odds than a snowball in hell at making it big, because these veins are so obvious and narrow that everyone else noticed them too, and suddenly you’re competing with half a dozen other startups to build out the very same thing. If you’re a lone programmer, you can either go suck up and work for them, building yet another useless rich guy’s dreams, or you can go home. There actually is no upstart option for programmers anymore. Fuck you.
Have a problem with that? Take it up with all of your fellow programmers! You know the ones. There’s a few varieties:
The corporate leech – built some proprietary monstrosity in a random dinosaur that no one understands, making himself impossible to fire or even negotiate with
The open source huckster – really just looking for their inevitable Patreon pivot, because they’re better than everyone and are gonna prove it once they no-life the right project idea and blow it up on the Orange Website
The open source sucker – unwitting masses of people, most often European, Indian or Chinese, these people feed the beast with free labour and an air of legitimacy for what would otherwise be some very cold discussion channels
The academic parasite – these guys have a decade’s worth of degrees and have a similar chip to the Patreon-slinging huckster from open source, except they’re institutional snobs about it, probably also hating on the startup-upstart faerytale we’re all sold
There are no great endgames for programmers anymore. If you want to have a happily ever after in tech, you have to stop being a programmer and sell your soul to the mafia to have a chance at becoming a fellow who calls themselves One Of Us. This is extremely pathetic and also evil. And also you’re not a programmer anymore, so what the fuck do you know is good in tech now? John Carmack hasn’t had a good opinion about computing since 1995, but you know something? He sure is rich. Rent seeking really does pay after all, at the hidden cost of becoming a clown of your former self.
Data companies are doomed
Data companies don’t care about code, and they don’t seem to care much about anything else either (besides the egos and pocketbooks of their stakeholders, of course). You can’t beat them as a programmer because the data is the object, although if well-resourced you can hurt them without incurring any legal wrath (check out clean room design and remember that Google half-strangled software patents in US courts).
But you don’t really need data to put these people to bed. Here’s the big Achilles’ heel of nearly all data companies: the data does not belong to them. If it did, the public would not really care anyway, because it would not be of common interest.
Data companies overwhelmingly hoard and monetise data collected freely from the general public. If what you care about is the public commons, there is still hope to salvage computing for its benefit alone. They have no real legal path to maintain their monopoly on public data if the public decides to also give it out to others, or to stop giving it out at all. They’re certainly not making a convincing plea to their flock for why they are the best option in town.
You can and should make superior software products – products with better UX, better performance, less bugs – that do this. Software quality is something they are notoriously weak with, and will continue to get weaker with as time marches on. Eventually the beast will run out of even desperate Indians to be fed into its bottomless belly.
There’s just one catch: you cannot depend on all of the software that you probably use as a consumer. If you want to have good chances of success in the market as an upstart, you cannot afford any kind of continuous maintenance of code nor dependence on abstractions maintained by others. This means no more LLVM. No more GCC. No more C++, especially not the ‘modern’ sort. No more Rust. No more Haskell. No more C♯. Only plain, imperative languages will survive on the bare metal, and only some of the so-called scripting languages will be carried forth in a runtime ark.
This is firstly because they are not created with you – the independent impactful programmer – in mind, but more importantly, it’s because it’s just not practical to directly apprehend that much complexity as an individual. You need software that is as stable as it would need to be on a CD-ROM mailed out in 1995. This is much, much easier said than done, but this is why Anodyne is being built. It’s the only realistic way to put an end to this nightmare we currently call ‘tech’.