[Home](https://codefionn.eu/) · [About](https://codefionn.eu/about/) · [GitHub](https://github.com/codefionn)

---

# Why did software become so complex?

> Why did software become so complex? Is it JavaScript?

*Published on 2025-07-19 · [View as HTML](https://codefionn.eu/why-did-software-become-so-complex/) · [Auf Deutsch lesen](https://codefionn.eu/warum-ist-software-so-komplex-geworden/)*

---


> Why did software become so complex? Is it JavaScript?

## Change in expections

>> [Software is eating the world. - Marc Andreessen](https://www.wsj.com/articles/SB10001424053111903480904576512250915629460)

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 <abbr title="Large Language Models">LLMs</abbr>
today) or made [big things possible](https://en.wikipedia.org/wiki/ENIAC),
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](https://www.bbc.com/news/articles/ce58p0048r0o)

Today your line of code can cause
[someone to be mistangly be accused of fraud and false accounting](https://en.wikipedia.org/wiki/British_Post_Office_scandal),
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](https://en.wikipedia.org/wiki/Knight_Capital_Group)
or [take a huge chunk of the digital world down](https://en.wikipedia.org/wiki/2024_CrowdStrike-related_IT_outages)
and with it parts of the real world.

## Change in legal requirements

>> [The internet is new land for all of us - Angela Merkel, 2013](https://www.zeit.de/digital/internet/2013-06/merkel-das-internet-ist-fuer-uns-alle-neuland)

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](https://en.wikipedia.org/wiki/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*.

---

[Impressum](https://codefionn.eu/impressum/) · [Datenschutzerklärung](https://codefionn.eu/datenschutz/) · [Mastodon](https://c.im/@codefionn)

© Copyright 2022-2026 Fionn Langhans
