Hacker News new | ask | show | jobs
by Closi 1786 days ago
Not all technical debt is bad engineering - some is great engineering that you do, knowing it won't scale or be fit for purpose forever (but it's right to do at the time, because it meets another goal - for instance speed to market, flexibility, stability, cheaper).

Software is very different to building the millennium tower - that's designed once, and when built won't be expected to substantially change or grow (at least from a structural perspective, you will change the interior). Building a skyscraper can take 5 years to complete, and when it's built it looks like the design from 5 years ago (with all the same load assumptions). With software the design is expected to change throughout the lifecycle, and should adapt to customer demand and scaling requirements, and you can't wait 5 years for perfect when 'good enough' will do and get you live.