Live data from Hacker News

Nobody gets promoted for simplicity

terriblesoftware.org

71–80 of 95 posts

Re: Nobody gets promoted for simplicity

#71
post #19

In my experience this doesn't happen as often as some people like to state. It tends to be less experienced, more junior, engineers that propose complex solutions, and more experienced engineers are the ones driving simplicity – both because they've been burned by complexity and value the simplicity more, and because they have the experience to clarify and distil problems down enough to get to the simplest solutions.…

The engineering team at a large bank some time ago did a blog post of having over 4,000+ microservices where a single API call from the client interacts with 1,100 of those microservices. Sounds great a great architechture right? /s Would you want to be in charge of simplifing this architecture for a 'senior staff' title for 4+ years? This is just one of many examples who have this sort of complexity and it is celebr…

I would absolutely love to be hired to be in charge of simplifying this.

Since they made me in charge of this, at least management already is aware of the problem. Convincing Some engineers to start on a new greenfield project to replace their old solution is also not difficult.

Re: Nobody gets promoted for simplicity

#72
post #23
post #20

This hit a nerve because “simplicity” is one of those things you only notice when it’s missing, and most orgs don’t have a good way to reward “the thing that didn’t happen.” I’ve watched this exact dynamic play out: one person ships the boring implementation, nothing breaks, everyone moves on. Another person ships the “platform” version, there are docs, diagrams, an internal talk… and now there’s a subsystem that nee…

In a functional org, the principal engineer's role would be to review designs to reduce complexity and new systems. The goal of the org (and engineers within the org by extension) is to deliver impact. The engineer who can ship the impact of 3 new features with simple implementations in the time that it takes one complex implementation to be build should be promoted.

> the principal engineer's role would be to review designs to reduce complexity

Two questions:

1) How did this principal engineer get this title?

2) How is he going to get the next one?

Re: Nobody gets promoted for simplicity

#73
One correction about interviews: if the interviewee comes up with an overengineered solution without asking any questions, it's definitely a red flag.

In a good interview, the interviewee would ask clarifying questions; perhaps get told to build something simple that works; and then follow-up questions would expand towards bigger scale to test the breadth of knowledge and experience of the candidate.

The thing being evaluated is not blindly repeating random "best practices", but understanding and adapting to requirements.

Re: Nobody gets promoted for simplicity

#74
You definitely get promoted for simplicity, if it translates to the real world in a tangible way: When other people are hard to work with because their solutions bear all the hallmarks of being overly complicated or complex and cause problems more often, higher ups or peers might not always be close enough to the technicalities to understand why – but they are not daft and can notice patterns. Attribution will not be fair in every single instance, but it averages out.

People who are easy to work with get promoted, and that is downstream from building simple solutions.

Re: Nobody gets promoted for simplicity

#75
People absolutely do get promoted for simplicity. I've also seen promos rejected for over-engineering concerns as well. I get that the opposite can happen, and at the end of the day there is some subjectivity, and a good deal of optics involved in the promotion process at any large company, but don't be demoralized by this! The minute you give up your engineering judgment and ethical principles in pursuit of some perceived political path to promotion, you immediately lose credibility with the most competent people that you most would want to work with and learn from. I assure you they are sprinkled throughout all kinds of organizations at all levels, so don't let the bozos define your worldview.

Re: Nobody gets promoted for simplicity

#76

* in idiotic organizations. I've was promoted for producing a significantly simplified replacement for an existing system that was critical. it happened because the culture rewards engineering excellence.

It sounds like they had a previously complex (and I assume problematic) system to compare it to. When complexity is causing problems and the job is to simplify to get rid of problems, it will be rewarded. If it was made simple from the start, it would have likely been seen as an easy and solved problem, and you never would have been brought in, as no one would ever think about it again.

Often the problems are complex, unless you take steps to simplify them to be easy to solve, usually by relaxing constraints a bit, by carefully examining what are the real business/physical constraints which MUST be fulfilled, and not going for the textbook solutions. This is called engineering, and is rarely rewarded, complexity is praised all around the industry.

Re: Nobody gets promoted for simplicity

#77
I've been promoted several times for adding business value, complex or simple in implementation.

Saving every team from doing X manually, saving so and so many engineer hours per year. At cost Y per year instead in one team. The higher X and lower Y the better.

Backups did not exist. Now they do and work every time.

I wrote the top customer appreciated feature, associated with an increase with X increase in whatever metric.

"It was really hard" shouldn't come into it, or not as much by far.

Re: Nobody gets promoted for simplicity

#78
post #64

If you have 10 teams working on the same product, you probably need service boundaries. Recently I started thinking that monolith or at least monorepo is better for AI development, because the context and the contract are in one place...

I give my agents read permissions to all repos related to a given repo. Add a bit of context to AGENTS.md or equivalent and they do just fine with understanding service boundaries.

Another concept I like is that we should optimize for next year's AI. Don't migrate to a monorepo if your only motivation is the performance of today's agents, because a year from now this may be a non-issue. Of course other motivations may still be valid.

Re: Nobody gets promoted for simplicity

#79

I’ve gotten promoted for simplicity several times. “Why are we jumping through hoops to make an Xbase file on a network share be accessible to multiple users updating data at the same time? Uh, can I introduce you to PostgreSQL?” “Hear me out: what if instead of deploying a fleet of web servers to handle 10M identical GET requests per second, we put a handful of servers behind a few Varnish caches with a 1 second exp…

There are so many problems that can be solved with a dumb go app on a tiny VPS, or other boring technologies like varnish or postgres as you mentioned, but my intuition here is that this is an insanely quickly moving field where it can be scary as hell not to feel like you're on the cutting edge. So we build really weird shit.

Re: Nobody gets promoted for simplicity

#80
I disagree with this, being able to take something and surprise your management with how few dependencies it has and how fast you set it up makes them want to work with you more, not less. The engineer making a new abstraction layer has management groaning at the idea of having to onboard everyone to it.
Post reply on HN