DevOps is an engineering abomination
This approach should have never been necessary to make functioning software.
We don’t take our time to do a thorough job with implementing things in software anymore. Everyone rushes for feature parity, every technical due diligence is sacrificed for the almighty ‘money over time’ equation, and whatever does get done is an archaeology project in the making because no one documents what they did and why.
“Works on my machine” is the butt of a joke because it prods into a very dark truth about software engineering: nobody has any fucking idea what is going on. The solution? Continuous integration. At a start-up I once worked for, the CEO shared this meme with us one day:
Yeah, I get it, it’s true, it works, how genius, whatever. Nobody is thinking of the immense cost this kind of intellectual laziness is coming at. Everyone forgot that the idea of virtualising a microcosm of a computer within a computer is insane on its face, and since suffering that suspension of disbelief, there are no more levies to stop the madness. Nobody wants to take control and take responsibility for all of the ways that machines are different, because that requires the kind of fortitude and perseverance that gets rooted out of the industry like weeds.
Differences in endianness and word sizes are not complicated. All of the weird eccentricities that make different kinds of computers different are not cause to have an internet meltdown and literally rage at your computer. But that is, in effect, what most people do: they write angry screeds and blame and shoot the messenger without remorse, forgetting in their tyranny that it was their job to take care of these kinds of things. They were supposed to do this with a sense of duty and at least a little bit of compassion – otherwise, why are you here? Oh yeah, I remember why. Money.
And that brings us to the next big disease in the software industry: rent seeking. We are all doubtless familiar with the classic sort of corporate parasite as a programmer: the guy who ‘owns’ some big part of the product codebase, he has documented none of it, effectively can’t be fired, and basically sits pretty collecting a big cheque until he feels like quitting and sailing off into Key West. Why companies entertain this kind of thing is beyond me. You can’t even say that it’s worth the cost in the long run because some day this guy will invariably quit and leave the company in a giant lurch because he never told anyone how he did his job. It’s only a question of when. So with that net negative value prop at hand, what the fuck is wrong with people that they hire guys like this?
And if all of this wasn’t bad enough by itself, I’ve got more bad news: it’s everywhere. This is not a phenomenon confined to giant bloated basilisks like Oracle and Microsoft – I have witnessed this happening in start-ups, supposedly the gold standard of business vehicles that eschew such things. With this level of metastasis, is there really any hope for the corporate world at all at this point? They’re gonna need a truly disgusting market correction.
This kind of rent-seeking is essentially the same root issue that is exemplified by DevOps, and underscored by the ‘continuous’ in ‘continuous integration’. They’re costs that just go on and on forever, with no objective end in sight. The project never completes. No one ever moves on to better things. And worst of all, everyone not participating in this economically ruinous gravy train is shut out of participation altogether. It is behaviourally consistent with cancer, and it’s time for it to end. If it doesn’t, then everything else of value with software will end instead, because the beast doesn’t care what’s for dinner. It’s already getting bad enough. We must make a change, not because it is easy, but because it is right.