What’s so hard about developing software?

John Karahalis
Reflections
Published in
2 min readAug 17, 2024
An open book lying on a sandy beach, with the water and sky visible in the background. No people are pictured nearby.

Why do non-technical people sometimes dramatically underestimate the time, money, and effort required to build software? I think it’s because they only see the end result: the app, website, or other product.

If a Martian visited Earth and inspected War and Peace or the encyclopedia, they might assume books were easy to produce. Some paper, some ink… what’s the big deal? How hard is it to scribble on pulp or bang on a keyboard? Of course, the visitor wouldn’t understand what the ink and pages represent. They wouldn’t understand how much research went into the work, let alone reading, planning, conversation, editing, and life experience. Thankfully, most of us have had some writing experience in school, and we understand it’s not so simple.

On the other hand, many have received no computer science education at all. For that reason, an outsider can be forgiven for thinking a web app is simple. Some buttons, some pictures… so what? What they wouldn’t see is responsive design, accessibility, performance, maintenance, testing, project management, browser quirks, localization, search engine optimization, caching, content delivery, database optimization, version control, software architecture, programming languages, development environments, cybersecurity, and so on. (That’s just in the world of web development; I don’t know anything about Android or iOS development.) The things I’ve listed are invisible, yet each is a world of its own. People spend their entire lives hoping to make a small dent in just one of those areas. But a few buttons on a page… “my grandchild could do that!”

The interchangeable use of the terms web developer and web designer is evidence enough of my point. Who beyond third grade could confuse writing with illustration? Our society is literate, but not technologically literate.

My current employer gets it in the very best way, but I can’t blame anyone for being confused. In fact, I’m genuinely and immensely grateful for others who possess skills I don’t; there’s a reason I don’t want to be CEO. Life is hard, and each person can only know so much. However, humility goes a long way. Without it, we don’t listen to each other and we end up with preventable tragedies like the Challenger disaster and the loss of the Titan submersible. In both cases, people who knew better shouted their concerns from the rooftops, only to be ignored.

Remember, simplistic is easy, but simple is hard. When things seem simple, we would all be wise to slow down, ask questions, and reconsider. We just might be missing something.

This blog post started as a post on my thoughts page. I don’t get any kind of reward for recommending thoughts, but I do genuinely recommend it as a “small internet” alternative to social media that’s much less likely to break your brain.

--

--