Title: I have worked in tech for about 14 years at companies big and small. I&#x27;ve worked in startups, big tech, consultancies, and I&#x27;ve been a freelancer. The one thing that&#x27;s been pretty consistent is excessive technical complexity (aka tech debt). Probably &lt; 10% of codebases I&#x27;ve seen used proper abstractions and commonly accepted software engineering best practices. The exceptions to this are newer codebases (&lt; ~3 years old), smaller codebases (&lt; ~10,000 LOC), and smaller development teams (&lt; 10 contributors).<p>I&#x27;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&#x27;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.<p>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?
Upvote: