Ask HN: Why is software quality always decreasing?
14 by timhrothgar | 16 comments on Hacker News.
I have worked in tech for about 14 years at companies big and small. I've worked in startups, big tech, consultancies, and I've been a freelancer. The one thing that's been pretty consistent is excessive technical complexity (aka tech debt). Probably < 10% of codebases I've seen used proper abstractions and commonly accepted software engineering best practices. The exceptions to this are newer codebases (< ~3 years old), smaller codebases (< ~10,000 LOC), and smaller development teams (< 10 contributors). I've pondered this problem quite a bit. I initially perceived it as the result of engineers compromising in the face of business pressure or engineers making mistakes due to lack of experience or foresight. But as I've become more experienced (and worked as a manager), it seems like a tech business problem. Tech businesses face undesirable situations that result in low quality code as a side effect. Examples include critical employee departures, hyper growth, critical customer demands, and even changes in government regulatory requirements. Can this be avoided for codebases that are old and large? Does anyone know of examples of codebases (public or private) that have maintained a high quality codebase that is large, old, or supported by a large number of contributors? If so, how is it done?

Post a Comment

 
Top