frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Why do software developers love complexity?

https://kyrylo.org/software/2025/08/21/why-do-software-developers-love-complexity.html
33•PaulHoule•1h ago

Comments

sharts•1h ago
Status and the appearance of being smart.
bigfatkitten•1h ago
Gotta pad your CV/promo packet somehow.
nomel•1h ago
It's pure dopamine, from the process, for me. "Eureka!" is a hell of a drug.
chubs•1h ago
I have a bee in my bonnet about this software complexity issue. Perhaps it takes large amounts of humility to accept that your job is fairly mundane, and only needs simple code to get the job done? I mean: who wants to turn spanners on a Toyota when you can imagine you're working for NASA, and introduce fascinating new paradigms to your work, that ultimately add complexity. I suspect that's why i've joined so many teams that have tied themselves up in knots of un-grok-able indirection. Another theory I have is that people encounter bad code, and misdiagnose it, identifying the (wrong) solution as needing a big complex architecture.
LPisGood•41m ago
I think it’s actually easier to make code more complex than it is to identify simple elegant solutions that will continue to work as the code expands.
rvz•1h ago
There you go. Instead: compression, efficiency and speed are better traits of intelligence in software engineers building these systems and being aware of trade-offs.

Rather than building rube goldberg contraptions and not only it is difficult to refactor them but can kill the entire business if the maintenance costs continue to increase.

tamimio•1h ago
If you really want to work with the most pretentious, attention-seeking, optics-loving people, work in robotics. God dammit, how I love the field, but most people there are insufferable.
bsenftner•1h ago
That an entire population wide brush ya got there. Not true at all. In many many cases, an initial implementation that is supposed to be figuring out the problem is never revised, just shipped. All these "complex code bases" are premature code that will never see maturity, just patches by an ever increasing population that understands the problem less.
rvz•1h ago
It's very simple: Job security.

To convice their managers that only they understand the horrific code they wrote the software in.

taeric•1h ago
I'm not entirely clear what the argument being made is. Simple tools are simple, sure.

But there is an awful lot of complexity in otherwise simple things. Just look at hand tools and see the difference between a power drill and a power driver. And realize that asking which one is simpler is a bit of a red herring. Even better, try and guess which one was created first.

I think, often times, people mistake the results of something from the tools that went into it. Such that it can be tempting to think that simple looking creations were made with simple tools. As often, the opposite is the case. It takes complicated tools to build something that looks simple.

Maybe the argument was that you put more effort and work into what you are building than you do that which you use to build it? I think that is largely fair.

That is actually somewhat in focus when discussing a pen versus the "penzilla." For one, building a pen is a surprisingly difficult thing to do. Especially at scale. For two, people rarely want to have a pen for the sake of owning a pen. Instead, you want to write something.

quickthrowman•1h ago
> Just look at hand tools and see the difference between a power drill and a power driver. And realize that asking which one is simpler is a bit of a red herring. Even better, try and guess which one was created first.

I would assume the power drill was created first if you include human powered drills, screws came much later than pretty much every other kind of simple machine, and until machine tools were invented, screws as fasteners didn’t really exist outside of specialized applications. They were used for presses and applying force.

John Henry was competing against a steam powered rock drill in the folk tale about him.

If you define power tools as tools driven by electric motors, I would still guess that the drill came before the driver, as rivets seem to be more popular in the steam engine to electric transition period than bolts or screws were.

Slightly confusing things is the fact that a modern drill is almost always a driver too, unless it’s a specific kind of drill like a hammer drill or core drill. Confusing things even more, there are drill bits that are meant to be used with an impact driver, a tool that is used to tighten or loosen fasteners.

As for which is simpler, drill vs (impact) driver, it’s hard to say. A drill has a clutch, and an impact driver has a spring mechanism that applies rotational force when the motor is at its limit. I’d say both are fairly complex, the impact driver is probably a bit more complex than a drill.

I’m curious about the development and history of power tools but it can be difficult to find information about it.

taeric•1h ago
Your progression of "confusing things" happening several times is exactly what I was hoping to elicit. And is why I think it is a bit of a red herring to ask which is simpler.
kccqzy•35m ago
Love this kind of comment, where one commenter poses a thought experiment about something I'm unfamiliar with, another commenter explains it in full seriousness.
selcuka•1h ago
I think this is not the point of the argument. Power driver solves a problem, but not everyone has that problem. Some jobs just need a drill.

The article argues that while React solves a problem, not everyone actually has a problem that requires the complexity of React (i.e. "Build pyramids if you must").

taeric•1h ago
Right, my point was more that thinking you can guess the simplicity of a solution based on the complexity of the tools used to build it is a bit misleading. If only because most simple tools are far more complicated than that allows.

Similarly, I would argue that using complex tools to build something generally results in less complicated outcomes. Our computers are basically evidence of that.

nomel•1h ago
Here's semi related talk about simple/complex and easy/hard [1].

[1] "Simple Made Easy" - Rich Hickey (2011) https://news.ycombinator.com/item?id=23905051

akomtu•1h ago
It plays the same role as feelings to common folk. In other words, most people out there live for feelings: they seek good tastes, smells, comfort and so on. That's their purpose in life. More sophisticated folks collect art or watch opera for the same reason. Brain-heavy individuals enjoy well arranged complexity instead, it provides the sense of mental comfort. All of this stems from our ability to perceive harmony, although in all these examples our ability is glued to lowly things of this world.
ggm•1h ago
When you're 6 procedure calls deep in a model you started from some abstraction on the problem which has hit "well ACKchewally.." variances from the model, it's high cost to go back to top and invent the top level abstraction again, to be only 5 levels deep when you hit the next one.

Putting a late stage "yea I know, but this one time..." hack in, is logistically simpler.

TL;DR we're not addicted to complexity, we're addicted to the abstraction we started with, even when it turns out not to be as good as we thought.

randrus•45m ago
This rings almost true for me - but “addiction” makes it seem like some sort of personal failing, whereas I think the cost of that backtracking and the probability of finding another Balrog in the woodpile later makes it seem like a perfectly reasonable choice.

Source: been there, done that.

ggm•28m ago
Yea, addiction is the wrong word, its hyperbole.

It is perfectly reasonable under the constraint of J Pierpoint Morgan's dictum:

"I don't want it perfect, I want it by Thursday"

gbraad•1h ago
Weird take: rather the opposite in my team. We look for the simpler solutions due to maintenance burden. Also, we actually deal with very complex tech; virtualization. Our whole premise is to create tooling for convenience, which therefore involves abstractions.

Some complexity in that case is needed, but its aim is to provide a cleaner/simpler access, which is often opinionated, limited to the purpose we have: deployment of development tools for containers.

If you want to experiment, show off as the article implies, start a hobby project.

Edit: removed some fat-fingered typos when I wrote this on a phone

tamimio•1h ago
They seek validation for accomplishing tasks in devious and circuitous ways, and to feel in control of something since they never had that anywhere else.
jauntywundrkind•1h ago
Why do some folks love assuming walking backwards to the past is the only reasonable path?

> The simple alternative is just around the corner: sprinkle vanilla JavaScript where it’s needed and don’t build your identity around a framework. That mindset is hard to swallow, though (especially when companies have spent millions convincing developers their stack is the only way forward).

Having grown up doing webdev at its emergence, those were not glorious years.

Even as a solo developer or part of a small team, it was hard as hell to have a perfect mental image of the app at all times, to understand all the combinatorial possibilities of what state your app is in now and what state you want to head to next.

Trying to forever update retained state is hard as hell, full of incredible opportunity for memory leaks, and created some super weird behaviors.

Even more so, "just write the basic code" doesn't scale. It's not a system that an org can follow. Folks will come and go, each going totally different directions. I don't know how to stress how immature and insane this sounds.

But folks love trashing that which is popular. To declare oneself the only sane mind amid a sea of madness.

I really do hope we see some post-React eras dawn, see more, that this isn't it, on and on. But I respect like hell the switch from a retained mode form of webdev to an immediate mode one. It doesn't just skip by so many really bad failure modes, it's often far far faster than the poor incomplete hacked out vanilla.js solution your org ended up with. I want us to change to move to not be stuck here. But to see where we are as unnecessary complexity, to invent fantastic degrading tales about the weak souls of men for getting us here: this is truly the behavior imo of lowlifes, of those spreading propoganda to spread the thinnest false confidence of hatred and disdain against the world.

Things are complex and that's ok. We are learning. The way out in onwards not idolizing a concocted naive pastoralized past.

antonvs•1h ago
This comment is on point, so all I'll add is this:

> The way out is onwards not idolizing a concocted naive pastoralized past.

Ah, the noble JavaScript savage of 1999 - so in tune with his environment, his nose twitching in perplexed confusion as the unfamiliar scent of DHTML wafts past.

Unconcerned with a future that he cannot possibly imagine, he launches Dreamweaver and begins coding, secure in the knowledge that the more things change, the more they stay the same.

tayo42•1h ago
I think for some complexity is a look at me and how smart I am type thing the author talks about.

But simplicity also requieres a lot of effort. Complexity is a side effect of laziness and not putting effort in. Common in corporate programming.

djmips•1h ago
Elsewhere on HN https://iaziz786.com/blog/boring-work-needs-tension/

Complexity adds tension.

Bored Software developers add complexity to make their jobs more interesting is my take.

bitwize•1h ago
Maybe when you're a junior, you like watching "the lights flash and the wheels spin" as Steve Summit used to say, but as you get older, more complexity is more stuff you have to audit, maintain, keep in your head as you extend the system, etc. And that's stuff you have less time and patience for. So you are drawn to solutions that are as simple as you can get away with. Especially since systems that did quite a lot with vastly fewer resources are still within your living memory. If you grew up with an Amiga, and your younger colleagues all started with like Windows XP or something, you remember being productive in an environment that they can't even fathom using.

I know this sounds all very "old man yells at cloud". What can I say. Grug dev only telling fireside stories learned from bitter experience chasing shiny rock.

reactordev•54m ago
Two words…

Job. Security.

You see, if only you knows how it works, how could they get rid of you? /s (obviously /s)

bob1029•53m ago
Technological complexity is often like a warm blanket you can wrap yourself in to avoid the realities of the customer.

Many businesses are built in such a way that you have little hope of directly contacting your customer, but that doesn't mean you can't try. The desire for complexity often disappears like magic when a developer gets to experience a client expressing happiness over the end results of their "clunky" tech stack.

chickenzzzzu•49m ago
Just have a text config file that comes in a variety of preconfigured flavors ("x mode", "y mode"...) and then also offer a "make your own config" option too.

Most of the time, if I'm working in blender for example, I want some really sane prepopulated shader values and one size fits all rig values for sofas vs chairs, but sometimes I want to go crazy and make chairs out of glass and slime, etc.

MobiusHorizons•48m ago
Lots of engineering disciplines enjoy complexity. It is challenging, and doing challenging things feels like an accomplishment, or demonstration of skill. I think software gets away with higher levels of complexity than I typically see in other engineer disciplines because it has a lower negative impact from the perspective of the business or the end customer. In auto manufacturing, for instance, complexity not only increases r&d costs, it also increases performance unit costs, and typically reduces reliability and maintenance costs (both of which are usually visible to end users). In software, complexity may appear to reduce r&d costs by reusing code in suboptimal ways, but the end effect is marginal slower, marginally higher binary size, and higher maintenance costs, but the end user doesn’t really ever see the direct maintenance cost, just a subscription price or support contract.

Imagine reusing an entire physical assembly for only one of its functions (eg a microwave to get a clock) this is the sort of thing we do in software all the time, but would immediately fall apart in other disciplines.

jvm___•44m ago
We can't see software.

You can see if a motherboard has twice the necessary components, or if a robot arm just looks wrong, but if your algorithm to process 1000 records takes a thousand times longer than it should (but still finishes in 100 milliseconds) no one notices.

sergius•47m ago
This is a perennial problem, see The Mythical Man Month

https://en.wikipedia.org/wiki/The_Mythical_Man-Month

Or if you wan to have more fun read Systemantics

https://en.wikipedia.org/wiki/Systemantics

awesome_dude•44m ago
We reward people that deal in complexity.

I'm not a very clever person, and I keep things pretty simple, so when I explain something to someone, they can generally get a grip on it pretty quickly.

To them it's been such a small jump they think, that person doesn't deserve much of a reward, heck I could have done it.

Whereas when someone talks about the complexity, people think, wow, there's no way that I could have done that, let's pay that person LOTS to keep them

LAC-Tech•44m ago
A lot of it is smaller companies trying to ape bigger ones.

Your 1-10 person team probably does not to use the same tech facebook or google are using, most of the time.

osigurdson•40m ago
I think complexity used to sell (real architects used abstract factory factories). Today, simplicity sells and while far better I think it can lead people to do dumb things sometimes. There isn't any problem with simplicity of course but rather what people define simplicity to mean. Sometimes it means things like "let's write our own database", because it is "simpler".

Right now, "simple" is meant to translate as "good" for the reader and whatever writer wants it to mean. I'm glad, at least, that the article provides an example (React vs plain Javascript). I don't know for sure but I suspect there are at least some valid arguments for using React vs just grabbing dom elements in Javascript.

tialaramex•36m ago
> Build pyramids if you must, but build them like the Egyptians did: with a clear purpose

For dim people, like myself. What was the "clear purpose" for Egypt to build giant stone pyramids? Maybe the rest of this will fall into place for me when I understand that.

Nevermark•26m ago
Reliable secure high-persistence storage.
abtinf•23m ago
To build a tomb. Not a shrine, not a place of worship, not a functional structure. Not something that could be repaired or repurposed. A tomb and nothing else.

A purposeless pyramid would get bogged down with plumbing and fountains and extra passageways and observation decks and on and on and on. It would have been impossible to build.

lr4444lr•23m ago
IIRC, their society depended on it. During peacetime, it was a major economic engine paid for from the royal treasury, with the work starting as soon as a new pharaoh ascended the throne, and the labor provided steady work when agricultural activity stopped due to Nile flooding. Of course, it's only in hindsight with our modern understanding of economics that we can see how such an activity at face value not important to any basic survival need was in fact a key piece of the economic fabric.
dismalaf•1m ago
> For dim people, like myself. What was the "clear purpose" for Egypt to build giant stone pyramids?

For them to be able to properly descend to and navigate the afterlife of course. This is why society today is so broken, all we get for our afterlife is a shitty urn and some bland sandwiches.

sass_muffin•36m ago
"Simplicity is the most difficult of all concepts" -Brian Herbert
renewiltord•32m ago
It's just a misfire on foresight. People writing code try to make the computer do most of the work. When they miscalculate the axes along which the machine must evolve it looks like unnecessary complexity. The structure of human interaction dictates the rest: no engineer fitting a piece into a port built for it in software thinks the designer of the software a genius - he thinks himself the genius for having fit it to the port; but every engineer who doesn't find the port thinks the designer an imbecile.
lr4444lr•19m ago
React piles concepts into your mental backpack: rendering models, hooks, state libraries, routing, and a build pipeline. ... The simple alternative is just around the corner: sprinkle vanilla JavaScript where it’s needed and don’t build your identity around a framework

Yeah, except that a sprinkle becomes a dusting, and then a dusting becomes a coating, and then a coating becomes a clog of dust bunnies, and it's often hard to tell when you need to stop and do it a better way when the business side is pressuring you with deadlines for changes on "what already works".

The whole reason frameworks exist is to _reduce_ the mental backpack by using something that has solved the same problems in the same orderly way.

dismalaf•10m ago
If you don't over-engineer how will you ever have job security?
narsa123•5m ago
Not sure in what context I need to answer this question, but thought is its the complexity created artificially when work culture, work politics, people and their thoughts collide together and resulting in a multi dimentional complex environment

Show HN: HN Term – browse HN using the terminal

https://github.com/aotakeda/hn-term
1•arthurtakeda•35s ago•0 comments

We Are Not Low Creatures

https://www.theintrinsicperspective.com/p/we-are-not-low-creatures
1•honoredb•1m ago•0 comments

Hugging Face Releases FinePDFs: A 3T-Token Dataset Built from PDFs

https://www.infoq.com/news/2025/09/finepdfs/
1•maxloh•1m ago•0 comments

Show HN: A tool to make a bootable USB installer out of macOS, or download it

https://macdaddy.io/install-disk-creator/
1•feelix•2m ago•0 comments

Norway's 8.5k ft underground pipeline first to store CO2 directly from factories

https://evidencenetwork.ca/norway-is-set-to-strike-it-rich-with-this-pipeline-8500-feet-undergrou...
1•bookofjoe•6m ago•0 comments

Linux for Nintendo 64 (1997)

https://web.archive.org/web/19990220141243/http://www.heise.de/ix/artikel/E/1997/04/036/
2•flykespice•9m ago•0 comments

Marathon experiment offers most precise measurement of nucleon structure yet

https://phys.org/news/2025-08-marathon-precise-nucleon.html
1•PaulHoule•10m ago•0 comments

Aura – Detecting Fake Cell Towers with RF Fingerprinting AI

1•sadpig70•11m ago•0 comments

What's caused reading scores to drop to worst point in decades?

https://www.pbs.org/newshour/show/whats-caused-reading-scores-to-drop-to-worst-point-in-decades-e...
2•geox•13m ago•0 comments

How to Install the Official Atlassian MCP Server for Claude Code

https://blog.johnys.io/how-to-install-the-official-atlassian-mcp-server-for-claude-code-bitbucket...
1•johnys•13m ago•0 comments

Linux phones are more important now than ever

https://feddit.org/post/18353777
3•wicket•16m ago•0 comments

Windows 11 on a 2005 Sun Ultra Opteron PC [video]

https://www.youtube.com/watch?v=LuyC0y7Ahfg
3•sys_64738•18m ago•0 comments

A Closer Look Inside a Robot's Typewriter-Inspired Mouth

https://hackaday.com/2025/09/15/a-closer-look-inside-a-robots-typewriter-inspired-mouth/
1•warrenm•23m ago•0 comments

The Awe Keeps Dropping

https://morrick.me/archives/10137
10•mgrayson•28m ago•2 comments

The Sagrada Família Takes Its Final Shape

https://www.newyorker.com/magazine/2025/09/22/is-the-sagrada-familia-a-masterpiece-or-kitsch
2•pseudolus•29m ago•1 comments

TCG Automate – Scan and Identify Your Trading Cards and List to eBay in Seconds

https://www.tcgautomate.com
1•asassine•31m ago•0 comments

Helping Doug

https://theamericanscholar.org/helping-doug/
2•gmays•39m ago•0 comments

Switchborn – 007 – The Endgame You Forgot [video]

https://www.youtube.com/watch?v=q1OldPGF2mI
1•marcusfrex•42m ago•1 comments

The builder who photographed distant galaxies

https://www.bbc.com/news/articles/crkj08kmd67o
1•1659447091•45m ago•0 comments

Visualizing Algorithms (2014)

https://bost.ocks.org/mike/algorithms/
2•shminge•50m ago•0 comments

Lobbying and Regulatory Strategies of US Autonomous Vehicles Companies

https://cardog.app/blog/autonomous-vehicle-lobbying
1•samsullivan•1h ago•0 comments

Namibia's Caprivi Strip Exists Because the Germans Forgot Victoria Falls

https://www.cntraveler.com/stories/2013-03-04/caprivi-strip-namibia-zimbabwe-maphead-ken-jennings
2•nothrowaways•1h ago•0 comments

Thank HN: Rainbows End

5•cl42•1h ago•1 comments

Treat the AI like it's yourself

https://ryanglover.net/blog/treat-the-ai-like-it-s-yourself
1•rglover•1h ago•0 comments

Careless engineer stored recovery codes in plaintext, got whole org pwned

https://www.theregister.com/2025/09/15/ransomware_recovery_codes_plaintext/
2•Bender•1h ago•1 comments

After years of strife, AFRINIC has elected a board. Now the hard work begins

https://www.theregister.com/2025/09/15/afrinic_election_called_what_next/
2•Bender•1h ago•0 comments

Free Online Traceroute Tool

https://tracerouteai.com
1•wantering•1h ago•0 comments

Most Work Is Translation

https://aparnacd.substack.com/p/most-work-is-translation
2•jger15•1h ago•0 comments

Fighting human trafficking with self-contained applications

https://lwn.net/SubscriberLink/1036916/2b10f1356b7ab0e7/
7•chmaynard•1h ago•1 comments

PlugAndData – plug‑and‑play data pipeline with automatic interface generation

https://pluganddata.com/
1•DanielPlugnData•1h ago•1 comments