Let's kill Software

Long live Software 3.0

Milton was right

People don't want software. They want functionality, they want experiences. Software is just an unfortunate side effect of having to interface with a computerized system.

Similarly, people don't want carpentry or even a table. They want to have dinner with their friends, they want space to seat their loved ones and host them, they want space to put a vase with some flowers when not in use. Imagine buying a dinner table that'd require you to use a hammer every time you wanted to use it, and where the carpenter would remind you every week through a newsletter that you're using a carpentry product, and the importance of carpentry, wood, sanding, and varnishing. You could even imagine the carpenter organizing a conference about Carpentry Security, taking over a city for a week, and filling it with panels about all the esoteric ways you can prevent, fight, and punish thermites.

That's what we've done with software. We've failed the user. The promise of software was always to make people's lives easier. Anything software does, can be done by humans, just slower. Software was always going to be the means to an end, not the end. Instead, today, most software is horrible, broken, and hard to use. To top it off, because of competing interests and misalignment of incentives, all these terrible systems are incompatible and don't talk to each other. We've created yet another industry around making systems talk to each other.

Rumored Salesforce Acquisition: 'End Of Beginning' For Cloud
Salesforce promised us the future. Instead, they built one of the hardest software systems to use on Earth, held by sheer user will, market momentum, and an army of salespeople.

We've made software the problem, not the solution. Now, most companies on Earth depend on at least 10 systems or software point solutions, decoupled from one another, integrated through scotch tape, spaghetti code, and interns. Again, because of competing interests, these cross-integrations are purposefully obtuse to the point that the end user can feel the competitive tensions between them through their difficulty. It's gotten so bad, now companies (and the people running them), have been gaslit into thinking they need more software, instead of well-designed, disciplined business processes.

It can't be that bad, you're a little much

Blade Runner – “I've seen things you people wouldn't believe" | ACMI: Your  museum of screen culture
I've seen things you wouldn't believe. I've coded things I want to forget.

It's bad. And invisible to most people. Good consumer software, especially entertainment, has been mostly spared. The UX bar for consumer software is incredibly high because consumer behavior is more impulsive and the goal is, well, entertainment. Terrible consumer apps are quickly criticized as they're more exposed to public opinion unless they have other elements in their value proposition. (I have a theory that most streaming today is failing and slowly dying because of its terrible UX, while they keep focusing on "content", but that's a topic for another day.).

If you insist it's not that bad, you haven't used or built enterprise software. The world, from our financial system to the supply chain, transportation, governance, and everything in between, is running on systems that are simply broken.

Material master screens and fields - SAP Community
This could've been pen and paper

Most critical business processes are performed through forms, borrowed straight from a pencil-filled worksheet, where the user fills in information coming from other incompatible systems, human and computerized. This delays things and leads to human error. We've obsessively introduced bad software into every corner of every industry, making most business processes unnecessarily complicated, making communication unmanageable, and increasing the cost of doing business.

You may be under the impression that under first principles, if a piece of expensive enterprise software is failing, a company would be quick to remove it and the market would weed out bad software. Unfortunately, that's not what happens. Onboarding to enterprise software is incredibly expensive, both in the cost of the software itself and in change management. You have to train all your employees to begrudgingly use the new software, which takes weeks.

By the time you're onboarded and you realize the disaster, 2 things have happened. The software company is done with you, they've closed you and onboarded you, and multiple stakeholders from that company have passed each other the hot potato to successfully chuck it across the fence. That potato has landed on your face, splattering everywhere. You're too much of a chicken to go back to your board and explain to them that the 7-8 figure contract you just signed is a dud and the software sucks. You keep it to yourself (unless it's catastrophic). You leave in 3-4 years. Your employees will have to bear with it for 10. It's sunk-cost fallacy with a dash of misaligned incentives. Worst case scenario, the company never changes the system and loses $1 billion.

Why has this happened?

The potential of software is incredible, and with everything that has potential and hype, we tend to create lore and thought bubbles. We get so excited about the technology that we forget its application. Then we see we can make money off this technology and instead of focusing on what is making money (the underlying functionality), we focus, again, on the technology. We have now successfully built an entire industry, a software supply chain, and we can't stop talking about it.

We think so much about technology that we forget the essential: enterprise software is there to help the people running business processes and make their lives easier.

This is happening with AI. I've heard VCs ask out loud "Where's the application layer?" 15 times in the last 3 months. It's a good question. What they're asking, less politely, is "What does this actually do? And why?".

I'm done building software.

(From now on, I'm building business outcomes with software).

Your 50-year-old customer, owner of a regional light bulb distributor, doesn't care about software anymore. He's been burned by software enough times. He's done, and I'm done. He wants solutions to problems. He wants to increase his revenue by 15%.

His employees, the people using your product every day, don't care about software. They want to fulfill orders quickly. They want to understand the tools they use. They want those tools to adapt to their workflow, not the other way around. They want data to work. To get in and out of the system and do whatever it has to do. They want function, not form, and if there's a form, make it quick, painless, and easy. They want to go home to their children. They don't want to spend another hour of their day every day for months learning how to use your software.

Neither of them cares if your software uses AI. Or GPT-4. Or GPT 3.5-Turbo. Or if you fine-tuned your machine with a diesel-powered GPU. Or if it runs on Node or Python. It's not the technology, it's the function. Technology is form. Period. 200 years from now, we'll look at software the way we look at steam engines today: cool-beans way of mechanizing a process.

We can finally fulfill that promise

My cofounder Upal, a team of incredible engineers, and I are building bem to fulfill a promise that started with the Babbage machine in the 1820s.

We're not building you a UI AI agent or an RPA AI agent because we think those two concepts are part of the problem, not the solution. We're building the new building blocks for software and a new paradigm to go with it. We want your users to simply interact with systems seamlessly, and for those systems to talk seamlessly. We want you to have the tools to build this for them.

And for the rest of my life, I'm done building software. I'm building functionality and outcomes and using code as my hammer.

This rant is powered by coffee and Fred again.

Subscribe to foxmaestro

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe