← Back to context

Comment by cyanydeez

8 days ago

Good abstractions only get you easy wins for some percent of the desirable tasks. They never guarantee 100% edge case unless trivial.

Choosing wrong means huge tech debt. Choosing righr just means most of your code will be happy path, and a few will need escape hatches. Not because of the abstract but because the target problem shifts uncontrollably. Because the problems you are solving typically require multiple abstractions and they are going to meet at the edges in the best case.

yeah the escape hatch accumulation is the real problem - starts as like 2 edge cases then just grows. I think the worst outcome is when you realize 6 months in that the abstraction was kind of wrong for your use case - now every new feature is fighting the grain of the code AND you've got a pile of special cases on top. at some point maintaining the abstraction layer itself becomes the work