Live data from Hacker News

Nobody gets promoted for simplicity

terriblesoftware.org

21–30 of 534 posts

Re: Nobody gets promoted for simplicity

#21
AI coding tools are making this problem worse in a subtle way. When an agent can generate a "scalable event-driven architecture" in 5 minutes, the build cost of complexity drops to near zero. But the maintenance cost doesn't.

So now you get Engineer B's output even faster, with even more impressive-sounding abstractions, and the promotion packet writes itself in minutes too. Meanwhile the actual cost - debugging, onboarding, incident response at 3am - stays exactly the same or gets worse, because now nobody fully understands what was generated.

The real test for simplicity has always been: can the next person who touches this code understand it without asking you? AI-generated complexity fails that test spectacularly.

Re: Nobody gets promoted for simplicity

#22
Not just simplicity, we are wired towards additive solutions, not substractive ones, on a problem we try to add more elements instead of taking out existing ones. And are those additions what counts, what are seen, not the invisible, missing ones.

Re: Nobody gets promoted for simplicity

#23

Sure they do. You just need to spell it out in business terms, not tech terms: "Reduced incidents by 80%", "Decreased costs by 40%", "Increased performance by 33% while decreasing server footprint by 25%" Simplicity for its own sake is not valued. The results of simplicity are highly valued.

Absolutely. And if you asked them if they're rather have it sooner, or keep it simpler, they'd pick "sooner" every time.

Re: Nobody gets promoted for simplicity

#24
post #7

Dijkstra understood it 50 years ago, and again 26 years ago [1]. Nothing changes. Malpractice just propagate and there are zero incentives to build simple, small, and maintainable software. If the company you work for just push for unnecessary complexity, get out of there! Don't fold! [1]: https://www.cs.utexas.edu/~EWD/ewd13xx/EWD1305.PDF

Malpractice is exactly the word for this sort of shit.

Re: Nobody gets promoted for simplicity

#25
Being able to solve problems with true simplicity is a master’s skill. The skill to recognize simplicity and its value is a skill as well.

You can try to explain this OP’s concept to a stakeholder in a 1000 different sensible ways and you’ll get blinking deer-in-headlight eyes back at you.

This skill is hard-earned and, so, rare.

Therefore, many hierarchies are built on sufficient mediocrity top to bottom.

Which works because bottom line doesn’t often matter in software dev anyway.

And even when it does matter it’s multiplicatively rare to have a hierarchy or even the market that it tries to serve who can build, comprehend, handle high power::complexity systems, products, tools.

Re: Nobody gets promoted for simplicity

#26
If I was an engineering manager in an org which actually valued getting sh*t done - vs. bragging rights, head counts, and PHB politics - then I'd notice within a month that Engineer A (who the article has shipping in a couple days) got far more done then Engineer B (who needed 3 weeks).

And long before performance review time, I'd have mentioned further up that A was looking like a 5X engineer - best if we keep her happy.

Re: Nobody gets promoted for simplicity

#27
post #20

One of our interviews is a technical design question that asks the candidate to design a web-based system for public libraries. It explicitly tests for how simple they can keep it, starting at "a single small town library" scale and then changing the requirements to "every library in the country". The top ever performance was someone who answered that by estimating that even at max theoretical scale, all you need a m…

Wait, so you are telling me that not every company builds Spotify on design system interview? Impossible

Re: Nobody gets promoted for simplicity

#28

> Now, promotion time comes around. Engineer B’s work practically writes itself into a promotion packet: “Designed and implemented a scalable event-driven architecture, introduced a reusable abstraction layer adopted by multiple teams, and built a configuration framework enabling future extensibility.” That practically screams Staff+. > But for Engineer A’s work, there’s almost nothing to say. “Implemented feature X.…

> And if this simpler solution was actually better for the company, it should be highlighted[…]

Simpler than what? The reason this phenomenon is so pervasive in the first place is that people can’t know the alternatives. To a bystander (ie managers), a complex solution is proof of a complex problem. And a simple solution, well anyone could have done that! Right?

If we want to reward simplicity we have to switch reference frame from output (the solution), to input (the problem).

Re: Nobody gets promoted for simplicity

#30
This reminds me of this post from 2013 -- https://mikehadlow.blogspot.com/2013/12/are-your-programmers...

Essentially, there are two parallel teams, one is seen constantly huddling together, working late, fixing their (broken) service. The other team is quiet, leaves on time, their service never has serious issues. Which do you think looks better from the outside?

Post reply on HN