Have you noticed what I have noticed? Can you see what I see? Software today mostly sucks and nobody gives a shit. We’ve grown so used to circumnavigating quirks and accepting fault that it’s barely a fact worth mentioning. But unless you are living under the proverbial rock, you know it’s true. Modern software mostly sucks.
Let’s quickly explain why. Its because the business models driving software today don’t benefit from quality, but rather they benefit from always keeping you waiting for the next update or set of changes. Bug free software doesn’t align with this goal. Bug free software in fact flies in the face of this goal as providing a user with a bug free, well-written piece of software that solves their problems is more than likely going to inspire them not to upgrade it.
But why are upgrades such a big deal? Well it’s because a lot of software is structured to try and get money out of you more than once. Long gone are the days where you buy a piece of software with a lifetime license and go on to use it for years on end. No, now you are being sold a monthly subscription or a time-limited license that requires you to maintain it. If the software is already great, why would you possibly be interested in doing that?
Bugs create opportunity. Opportunity creates profit. Profit creates markets. Welcome to the hell of “Modern Software”. Think it’s bad today? It’ll be even worse tomorrow.
The real problem isn’t that software is buggy, it’s that nobody seems to give a shit. People have gotten so freaking used to problems that they just accept a constant stream of them as the cost of doing business. They accept the reality that they will have to spend copious time employing workarounds just so they can manage to force the software to do the very thing it claimed it was going to help them do in the first place.
A good example of this is my Windows PC at work. It’s terrible. In fact it might be the worst PC I have ever had to use for work. This isn’t because of the hardware. It’s a Lenovo Thinkpad. I love Thinkpads. I’m typing this blog post on a different Thinkpad running Linux right now. Sure mine doesn’t have a planet destroying dedicated GPU on it and it doesn’t look quite as slick, but it’s mine and it’s done a great job for me over the last few years.
Anyway I digress… my work PC is the absolute worst. It barely works right. Updates are nightmarish. If I leave it running for three days straight it starts getting really sluggish and I have to reboot it to get back to typical performance. Oh why am I leaving it on three days straight? Well that’s because when I put it to sleep it only wakes properly about half of the time, so it’s generally easier to just leave it on all day and night throughout the work week, lest I risk unexpectedly losing my context.
Am I blaming Windows? You may be surprised to hear me say this, but only partially. I have a token Windows box with far weaker hardware it out performs this laptop in every way that matters and manages to do it while being much less noisy (the fans and fan curves on the work PC are the absolute worst). Updates are a pain in the ass but they don’t take me hours on end to get installed on my token box like they do on my work PC.
So am I blaming Nvidia? I mean that crap hardware isn’t helping the fact that the laptop is noisy and has terrible battery life. It can suck down up to 65 watts of power on it’s own so, it’s definitely a part of the problem. But again much like Windows, I only partially blame the GPU.
So what am I blaming? For starters I blame the fact our IT department can’t be bothered to give a single fucking fuck about this situation. Everybody hates their work Windows PCs where I work. They all operate just as poorly as the others. IT does not give a shit. Our internal security people have also undoubtedly made this worse by loading endless layers of security snake-oil software on these machines, including the infamous Crowdstrike software that nearly brought the world to its knees last year (including my employer).
But it’s also not entirely their fault… because we as users… just accept this bullshit. Which is somewhat fair because we don’t generally have any real control over the situation. If I uninstall Crowdstrike there is a good chance I’ll pay the price for that. If I nuke Windows from orbit this is a good chance I’ll pay the price for that (though the fact I need Windows for my job as I maintain some legacy .NET codebases isn’t lost on either myself or anybody else there). In any event, I don’t want to pay any of those prices, so my work PC will continue to run like hot garbage.
Though outside of situations we don’t control… WHY ARE WE ACCEPTING THIS BULLSHIT?
Because we have all been conditioned to merely accept that software sucks now. We don’t fight back. We don’t even complain half the time because even if we did, nobody would fucking bother to listen anyway. Nobody cares. Even at work when end user bug reports roll in, I can’t help but to prioritize those tickets. Ultimately in my view, directly addressing a bug / problem reported by an end user is the absolute best way for me to feel like I made a positive difference in that particular day or week.
Sadly most of the other engineers at work don’t feel this way. They hate working those tickets. They don’t like fixing bugs. Everybody wants to create new stuff. Nobody wants to maintain the existing stuff. Nobody wants to do the hard work of plowing through real world complexities to try and figure out what, if any, code tweaks can be made to make just one customers / persons life better.
See the real issue here is that (and yes regular readers have heard this before) we in Tech have become disconnected from our customers. We don’t care about them. We don’t know them. We don’t really even try to cater to them anymore. We treat them as ride-share hostages who bring only money to the trip but lack enough willpower to get off the ride once everything goes to shit.
This of course is one of the reasons why I have tried to reduce my dependence on proprietary software over the years. Like it or not, but building workflows around free software which build on open standards leaves end users with valuable options. If a piece of software in my home stack goes to shit, I can switch it out. I have options. It may cost me time and effort, but ultimately I’m not forced to just go along with anything that any software vendor is insane enough to suggest.
Short of retro, indie and aging AAA games along with a few Apple products, I basically don’t use proprietary software. Every part of my stack is comprised of free and open source software (aka FOSS). My operating system is FOSS (BlueFin). My Office Suite is FOSS (LibreOffice). My Integrated Development Environment is FOSS (VSCodium). My browser is FOSS (Brave). My email client is FOSS (Thunderbird). My Desktop Environment is FOSS (Gnome). My Text Editor is FOSS (Zed).
This makes me happy because at the end of the day that software being free and open source empowers me as an end user. If Gnome suddenly goes insane and decides to “ruin” their software (depending on your definition of ruin), somebody might create a fork that better suits my preferences or I could decide to create my own fork. As an end user I am empowered just as much as I’d like to me. I determine my own level of control and involvement.
I love feeling that way. But hey if you are skeptical, you merely need to look at the history of what happens to FOSS software when it goes off the rails. What if a sleazy tech company bought a popular FOSS Office Suite called Open Office and proceeds to ruin it? Well that happened. Oracle did it. The FOSS community and users responded by creating a fork of Open Office called Libre Office which then proceeded to sink Open Office and it’s future. Meanwhile Libre Office is the most popular and thriving alternative FOSS office suite today.
If you are tired of modern software treating you like an asshole, then you owe it to yourself to try to approach this problem differently. FOSS software makes for a great alternative and while our existence may not be as flashy or as mainstream as more proprietary alternatives we offer something that absolutely nobody else does: The opportunity to thrive and the freedom to react as you feel compelled to in the event that the situation ever changes for the worse.
Why does anybody out there think they deserve anything less than that? Hint: You Don’t.