by mifydev on 4/23/25, 2:19 AM with 46 comments
by hliyan on 4/23/25, 2:52 AM
by minebreaker on 4/23/25, 2:51 AM
by godelski on 4/23/25, 3:21 AM
I think there's miscommunication. Maybe I'm misunderstanding. But when I say speed is a problem I mean that the world is complex and to go fast you have to cut corners. There's a fundamental truth that I think many people forget: as civilization advances, complexity increases. Think about this from a simple way. When you are in a new domain you can get away with low order approximations. They're better than... well... nothing. Which is what you had before. But as we get better you have to take higher order approximations to improve your results, right? And those higher order approximations almost always increase complexity. So that's the problem.
The need for speed makes you overlook small details. But as we get better those details matter more and more. They're counter to each other. There's strategies that are good but they have nuance too and it's like cliques were we forget the second half. Move fast and break things is great. You learn fast when tearing things apart. But you left a giant mess behind you. If you don't clean it up then the mess just builds. It's way faster and cheaper to clean up now than later. Just like cleaning a dish is way easier right after using it than when it's had time for the grime to set in and harden. Which, of course, this all compounds complexity, like the author states is the problem. Tech debt has interest but we want to pretend the debt doesn't exist.
I'm convinced this is what's leading to so much shitware. There's little pressure to actually improve because of centralization but everyone feels the need to move fast, so we move fast into nowhere. We don't want to fix problems, or even acknowledge them, because "new features" is more rewarding.
It's just a waste of a lot of money and time
by nomaxx117 on 4/23/25, 2:33 AM
by bombela on 4/23/25, 2:40 AM
This is not a technical problem. Try to find out who is accountable. Who gets fired when the software doesn't perform the way it should. Notice nobody gets fired. Because the whole chain of command is afraid of accountability for themselves.
by jcgrillo on 4/23/25, 2:42 AM
by hinkley on 4/23/25, 2:28 AM
Slow is smooth, smooth is fast.
It’s just not the only form of chaos.
by jongjong on 4/23/25, 3:11 AM
For projects which I've built from scratch, I move blazingly fast. I can get more done on the weekend one day per week on a complex project than I can get done at my full time day job 5 days per week on a simpler project.
The difference is that in my side project, there is 0 unnecessary complexity. All the difficulties I face are intrinsic, unavoidable barriers to solving the problem.
In my day job, 90% of the complexity is not intrinsic to the problem but are created by the code /architecture itself.
I've been saying this over and over for years but it just doesn't seem to register in people's heads just how important the foundations are. The word "technical debt" is a highly accurate way to describe the issue because the costs compound, just like real debt which is not serviced regularly.
If you join a project which has too much technical debt, you can easily end up in a situation where you have 100 engineers moving at the same pace as 1 engineer could working on their own project.
So the 10x or even 100x engineer is real but you can only discover them if they can work on their own codebase from scratch.
I've seen several times people who were very average developers working for a company who later became 10x devs working on their own startup. I've also seen people who were same speed everywhere; those aren't 10x devs. At best they're a 2x dev because maybe they can churn out buggy tech-debt-ridden code at twice the rate as a normal dev. I've worked with devs who could code at twice the speed (and sustained); large amounts of code but it had bugs and eventually, everyone on the team ended up working at half the speed... Requires twice the amount of code to implement the same feature with lower quality.
Also, sometimes a company may have one person on the team who comes across as highly knowledgeable, good communicator but maybe a bit slow and they don't seem like a 10x dev... But remove that person from the team and after a year or two the whole team is much slower and nobody can figure out why. 10x devs are team productivity multipliers. They make everyone around them approach 10x speed.
by visviva on 4/23/25, 2:27 AM
by fiforpg on 4/23/25, 3:05 AM
Modern software is similar to the pyramids: it consists of millions of blocks held together by nothing but sheer weight and the labor of thousands of slaves.
by esafak on 4/23/25, 2:35 AM
by mkoubaa on 4/23/25, 2:37 AM
But if I solved the speed problem I might bitch about chaos. And if I solved the chaos problem I might bitch about freedom.
My definition of a solution is to trade a problem you have for a problem you'd rather have.
by stackskipton on 4/23/25, 3:12 AM
What's preventing the Chaos from getting under control is political desire to do so. Google ships 5 times a day? Why don't we? /s
by wetpaws on 4/23/25, 2:33 AM