Top
Best
New

Posted by aamederen 15 hours ago

Nobody gets promoted for simplicity(terriblesoftware.org)
827 points | 470 commentspage 5
aristofun 8 hours ago|
That is very true. For whatever reasons - the bigger the company, the more unjustified complexity it cripples itself with without being aware about it.

Also survivorship bias is a very real thing (problem prevented is ignored, while problem solved is appreciated regardless of who and why caused it).

ebisoka 12 hours ago||
Shipping a button in 2026… <https://www.youtube.com/watch?v=xE9W9Ghe4Jk>
bluemario 9 hours ago||
The structural problem is that simplicity accrues value slowly and diffusely, while complexity delivers visible credit immediately to whoever built it. The person who adds the abstraction layer gets the PR merged and the ticket closed. The person who deletes it six months later gets... a smaller diff and a shrug.

I've noticed the incentive breaks down even further when you consider that simplicity often means saying no upfront, which requires correctly predicting future maintenance costs that nobody has experienced yet. Complexity requires no such foresight. You just build the thing someone asked for.

The orgs where I've seen this actually work had explicit "deleted lines" culture, where removing code was celebrated as loudly as shipping features. Not many places do that. Most treat a 2000-line deletion PR with the same energy as taking out the trash.

WalterBright 5 hours ago||
People get promoted for making their boss look good.

P.S. I know this sounds obvious, but I was a slow learner.

BenoitEssiambre 12 hours ago||
If you're at a place that rewards complexity, you might be able to pitch simplicity as something that to get right, requires deep understanding of complex information theoretic concepts and deep understanding of ontological knowledge about the domain (it helps that this is true https://benoitessiambre.com/simple.html ). You can talk about the Bayesian Occam's Razor ( https://benoitessiambre.com/abstract.html ) and about minimizing the entropy of code ( https://benoitessiambre.com/entropy.html ), of tests ( https://benoitessiambre.com/integration.html ) and even of infrastructure ( https://benoitessiambre.com/pgcentrism.html ).
csmpltn 13 hours ago||
People always overcomplicate this. Companies want to get the most out of their employees, for the least amount of money paid.

Promotions are supposed to incentivise people to stay, rather than leave. If the company never promoted anyone, people would leave. So there needs to be a path for promoting people. But that process doesn’t have to be transparent, or consistent, or fair - in-fact it rarely is.

You promote people who consistently overdeliver, on time, at or below cost, who are a pleasure to work with, who would benefit the company long term, who would be a pain to lose. A key precondition is that such people consistently get more done compared to other people with equal pay, otherwise, they don’t stand out and they are not promotion material.

What counts as overdelivering will vary based on specific circumstances. It’s a subjective metric. Are you involved with a highly visible project, or are you working on some BS nobody would miss if it got axed? Are you part of a small team, or are you in a bloated, saturated org? Are you the go-to person when shit hits the fan, or are you a nobody people don’t talk to? Are you consistent, or are you vague and unpredictable? Does your work impact any relevant bottom lines, or are you just part of a cost centre? It really isn’t rocket science, for the most part.

arnvald 13 hours ago|
It's really not that simple.

Numerous times I've seen promotions going to people who were visible but didn't do the actual work. Those who share the achievements on Slack, those who talk a lot, get to meetings with directors, those who try to present the work.

csmpltn 12 hours ago||
For the vast majority of people and cases, it really is that simple - but like I already said, "the process doesn’t have to be transparent, or consistent, or fair - in-fact it rarely is". There are exceptions to every rule, but for most people, it really does come down to some self reflection:

1. Do I consistently deliver more (in output, impact, or reliability) than peers at my pay level?

2. Is my work visible and tied to meaningful business outcomes, rather than low-impact tasks?

3. Am I known as dependable and easy to work with, especially under pressure?

4. Would the company feel a real loss-operationally or financially-if I left?

5. Have I made myself clearly more valuable to the organization than what I currently cost?

bhk 5 hours ago||
Ah, but it's worse than this. The truly ambitious ladder climber creates not just unnecessarily complicated abstractions, but organizations. Processes for people to follow. Infrastructure for people to maintain. Committees to vet changes. Standing meetings.
flashybaby 10 hours ago||
This is playing out in real time with AI. Someone uses ChatGPT to compress weeks of work into hours, and the organizational response isn't "great, let's scale this" -- it's panic about what it means for headcount and hierarchy.

There's a short film making the rounds that captures this perfectly -- an employee uses AI to generate the quarterly results his whole department was working on, and instead of being promoted, he gets fired: https://youtu.be/O5FFkHUdKyE

The simplicity penalty is even worse when the simplification comes from AI. It's not just "you made us look bad" -- it's "you made our entire team look unnecessary."

easton 8 hours ago|
What's going on here? There's a AI generated song in a youtube video, but it was posted yesterday and this bot is here today. Did someone have future sight of what today's HN post was going to be?
jppope 9 hours ago||
The article's point is sound, but its missing a key component. People who build simpler systems are capable of getting more done - the build takes less, the maintenance takes less, etc. So when the engineer choosing simplicity is looking to get promoted they might have 3 or 4 bullet points to their name instead of 1.

Of course, over-simplification is the wrong decision some times, the same as abstraction and complexity is the wrong decision some times...

Your shortcut for promotion is generally building value for the company, but people need to remember that promotions support the business and they aren't free to the company.

saulpw 9 hours ago|
Unfortunately, no, simpler systems often take longer to create. It's always easiest to just add some janky widget hanging off the side, than to rejigger the whole system to be simpler. It's like the Pascal quote: "I have made this longer than usual because I have not had time to make it shorter."

They take less to review and maintain etc, but the credit for those positives aren't assigned to the original engineer. Which is the point of the article.

mattbillenstein 7 hours ago|
Extends to the extreme levels of SaaS-ification of fairly basic app functionality as well.

It's often simpler to build something you know than to integrate a 3rd party service, but it's highly frowned upon by a lot of devs and management.

Auth and analytics are things I'm thinking of - we have good tools to build these in-house. Also just running a database - never seen so many people afraid of installing postgres and a cronjob to back it up.

More comments...