Why did software become so complex?
Last Update: 2025-07-19
Why did software become so complex? Is it JavaScript?
Change in expections
Oh, hello. Did you just try to center a div horizontally and vertically today? Did Visual Studio decide that the error is your whole program, just to be restarted and the error simply not existing anymore? Did you have to restart your language server, because it had enough for now?
So why did software become so complex? I think the answer lies in the changing times and expectations of software.
When I got my first computer (probably about 2006-2007), there was still the saying
save often, save early
this is not expected behavior anymore and isn't part of the zeitgeist anymore.
People expect auto save. Toggle a checkbox, change everything immediately. Otherwise, they will call your customer support.
Software was an addon, now it is required. Schools managed their timetables and enrolled pupils with paperwork and a lot of organization. Parents can now look up their child's timetable and cancelled lessons, if a teacher called in sick. You probably use specialized software and not just excel tables or basic text editor.
Before software was nice thing, that speed up your workflow (kinda like LLMs today) or made big things possible, but today it exists, and there's no way around it. Your corporate files are immediately stored in a central repository and can be searched for information. This requires at least an intranet, file syncing, version management and authorization.
You file your taxes with a computer (and maybe a smartphone?) over the internet.
When editing a person in a CMS system, maybe just fetching the data and editing it isn't enough. The data may have to be live updated if someone else edits it at the same time concurrently.
Before just people had to talk or write to each other to get things done as different groups, now your local specialties of software products have to communicate with each other too.
Change in risk profiles
To express our gratitude, your next cup of coffee or late night snack is on us! - CrowdStrike
Today your line of code can cause someone to be mistangly be accused of fraud and false accounting, sometimes leading to someone taking their own life.
The stock marked was a lot slower a few decades ago. Today milliseconds are the line between profit and loosing money. Software trades and one wrong, untested configuration can bankrupt an entire company or take a huge chunk of the digital world down and with it parts of the real world.
Change in legal requirements
The internet is new land for all of us - Angela Merkel, 2013
Politics in some parts of the world also discovered, that people can do pretty shitty stuff with software, too (or most times just want to spy on everything that moves).
Software has to follow the law contrary to tech bro opinion (or they just buy a seat in government).
In the EU you must have a privacy policy, informing users about the shitty things you do with their data. You have the right to be forgotten and download your data (including but not limited to moderation and internal comments on your person).
Change in scope, everywhere
Software has to be reliable, constantly updated, always evolving, never go down and still be somewhat affordable.
This means software based on databases with a file system that runs in three different datacenters, logging, observability, end-to-end testing and live migrations.
Software doesn't just have to work for a specific demographic, software must be designed for everyone and everything between 0 and at least a 100 years old (your grandma and the kids using that Tiktok thing). It has to work on Apple computers, Windows arm and x86-64, Linux, smartphones and maybe on a tv. Color palettes cannot be random, because some people may not be able to distinguished between a different set of colors. Your software must be able to show, talk and braille.
Software has nearly no limits and can be deployed everywhere.
Software must be able to become old, we're talking decades and soon and maybe even now half a century.
Closing words
In summary, software become a big part of the real world and has to do a lot more real world things and deal with them.
Of course your blog probably shouldn't be written with Next.js.