4 ms·
Yep I agree. It does make senior developers more efficient at building new features but it's maybe like 20% more efficient in the grand scheme of things... But
by jongjong 1y ago
Yep I agree. It does make senior developers more efficient at building new features but it's maybe like 20% more efficient in the grand scheme of things... But this efficiency saving is a joke considering that companies spend most of their development money creating and maintaining unnecessary complexity. People will just produce unnecessary code at a faster rate. I think the net benefit for a typical corporation will be negative and they will need to hire more people to maintain the increasingly large body of code, not fewer.
It's an intractable problem because even if some really astute senior engineer joins a company and notices the unnecessary complexity and knows how to fix it, there is no way they will do anything about it. Do you think thousands of existing engineers will support a plan to refactor and simplify the complexity? The same complexity which guarantees their job security? It's so easy to discredit the 'new dev' who is advocating for change. Existing devs will destroy the new dev with complicated-but-deeply-flawed arguments which management will not fully comprehend. At the end of the day, management will do what the majority of existing devs tell them. Devs will nod in unison for the argument which sounds more complex and benefits them the most.
Nobody ever listens to the new hire, even the new hire knows they are powerless to change the existing structure. The best they can do is add more complexity to integrate themselves into the scheme.
Ironically, the new hire can provide more value doing nothing but that will not provide them with job security. The winning strategy is to trade-off deep long-term value for superficial short-term value by implementing lots of small features loaded with technical debt.
It's like gears in a big machine, you could always add 3 gears to do the exact same job as 1 gear but once those 3 gears are in place, remove any of them, the machine stops working... So each one seems demonstrably essential to anyone who doesn't understand the tech. That's the principle. When pressed, a merchant of complexity can always remove a gear and say "Look, the machine doesn't work without it, just like I told you."
- LPisGood 1y ago> Existing devs will destroy the new dev with complicated-but-deeply-flawed arguments which management will not fully comprehend. At the end of the day, management will do I sympathize with this position, but I think it’s worth admitting that it’s also often the case that the complexity increases all made sense at the time of implementation, and the big rewrite in the sky is often more expensive, more risky, and likely to still end up with new complexity than is anticipated at the beginning.