Hacker News new | past | comments | ask | show | jobs | submit login

> they're the one taking responsibility for doing the work and ensuring its correctness

But that's not the case. They're taking responsibility for _initially_ doing the work and ensuring the correctness _for the cases they've thought of_. Past that, they're adding mental load to every developer on the team. And to the person that needs to maintain it.

If it's a caching system, what happens when some other person is working on something that doesn't play nice with caching? What if they don't realize there's caching and they waste a lot of time trying to figure out why their code isn't working? What if they need to bypass caching to get the correct results; so they need to understand the caching system enough to do this? Does it even support it? Is their code now coupled to the caching system?

What happens when things about the system need to change? Who is in charge of that change?

Adding complexity to a system doesn't just impact "the person that wrote that complexity at the time it was written". It's an ongoing cost, forever, until it's removed. It needs to be worth that cost, or it shouldn't be done at all.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: