Why is software so complicated?

Aaron Boodman
Oct 28, 2015 · 2 min read

I often hear people ask this. Sometimes the question also takes the form of an accusation: “If (cars|houses|bridges) were like computers…

Joking aside, I think it’s important to remember that software is complicated by design. The entire purpose of software is to be complicated.


In the beginning, there was hardware. Hardware was hard: hard to build, hard to change, hard to distribute, and hard to update. As the complexity of the systems engineers wanted to build grew, the hardness of hardware quickly became a problem. Every time you found a bug, you had to do a new factory run. Every time you wanted to add a feature, you had to ship a replacement unit to your customer.

Engineers saw that hardware was hard, and created software. The purpose of software was to encapsulate the complexity of a system in an easily mutable form, so that it could be studied, audited, versioned, and updated.

So why is software so complicated? Because we want to build complicated things. Things with lots of features and options. Things that require thousands of computers spread across multiple continents. Things that can go to Mars and back. Things that drive themselves on the freeway. These things that we want to build are inherently complicated. Software is just the distillation of that complexity. Software is complexity.

Don’t get me wrong: complexity sucks. Every software project should be as simple as possible.

But the goal of software engineering as a whole is to increase complexity: to enable the construction of ever bigger, bolder, more powerful, and more complex things. Complexity is both our nemesis and our purpose. And we can no more escape it than the sailor can escape the sea.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store