Live data from Hacker News

Nobody gets promoted for simplicity

terriblesoftware.org

11–20 of 534 posts

Re: Nobody gets promoted for simplicity

#11

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.

[deleted]

Re: Nobody gets promoted for simplicity

#12
post #8
post #4

I'm trying to sell simplicity to my target market, who I would call "semi-tech literate". Maybe it's stupid and I should sell whatever Forbes thinks is cool, but I just can't shake this feeling that I should be solving actual business problems.

We failed a bid for a project because of simplicity. We were to migrate a service running on an on-prem Kubernetes installation and a three, or five, node Apache Cassandra cluster to Azure. The service saw maybe a few hundred transaction per day, total database size: 2 - 3GB. The systems would hold data about each transaction, until processed and then age it out over three months, making the database size fairly stab…

2-3gb... an organisation of their scale :D

I sometimes feel like that's what it is. Simple solutions make some people feel unimportant.

Re: Nobody gets promoted for simplicity

#13
Skill issue—in management.

Good leaders perceive workhorse vs showhorse spectrum, critical toil vs needless flash (and vice versa).

It’s hard. Most fail at hard things. The industry in the aggregate will fail at hard things

So you get articles like this.

Re: Nobody gets promoted for simplicity

#14
I interviewed at a company that used a simple project to screen candidates. It was implementing a cash register checkout system. The task was soo simple that I couldn't figure out what they were looking for. So I implemented the simplest thing possible. I got the job partially because they were impressed by my utterly simple solution. I helped evaluate other candidates given the exact same problem and it's amazing how some people dialed up the complexity to 11. None of them passed the screening.

Re: Nobody gets promoted for simplicity

#16
> 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.” Three words. Her work was better. But it’s invisible because of how simple she made it look. You can’t write a compelling narrative about the thing you didn’t build. Nobody gets promoted for the complexity they avoided.

Well, Engineer A's manager should help her writing a better version of her output. It's not easy, but it's their work. And if this simpler solution was actually better for the company, it should be highlighted how in terms that make sense for the business. I might be naive and too optimistic but good engineers with decent enough managers will stand out in the long run. That doesn't exclude that a few "bad" engineers can game their way up at the same time, even in functional organizations. though.

Re: Nobody gets promoted for simplicity

#17
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

> If the company you work for just push for unnecessary complexity, get out of there!

If every company I know does this, how am I suppose to make money?

There are reasons for "unnecessary" complexity. Mainly cost and time.

Re: Nobody gets promoted for simplicity

#18
You need the tension between both, or else either approach at most levels of systems, whether its an app or a corporation, tends to lead to toxic failures modes.

It could be something overbuilt, large organization structures. Brittle solutions that are highly performant until they break. Or products/offerings that don't grow for similar reasons, simpler-is-better, don't compete with yourself. Or those that grow the wrong way-- too many, much to manage, frailty through complexity, sku confusion.

Alternatively, things that are allowed to grow with some leeway, some caution, and then pruned back.

There's failure modes in any of these but the one I see most often is overreaching concern for any single one.

Re: Nobody gets promoted for simplicity

#19
I’ve definitely consistently seen people who can take a wildly complex bug-ridden Rube Goldberg machine that was impossible to change and break it down into a simple understandable system get promoted. These people are generally the best engineers in the org and a get reputation for that.

Re: Nobody gets promoted for simplicity

#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 medium sized server and Postgres.
Post reply on HN