<story><title>Learnings from 5 years of tech startup code audits</title><url>https://kenkantzer.com/learnings-from-5-years-of-tech-startup-code-audits/</url></story><parent_chain><item><author>jacquesm</author><text>That&amp;#x27;s a good point, tech debt &lt;i&gt;can&lt;/i&gt; be a killer. But the more common pattern that I&amp;#x27;ve seen is that companies that accumulate tech debt but that are doing well commercially eventually gather enough funds to address the tech debt, the companies that try to get the tech &amp;#x27;perfect&amp;#x27; the first time out of the gate lose a lot more time, and so run a much larger chance of dying. The optimum is to allow for some tech debt to accumulate but to address it periodically, either by simply abandoning those parts by doing small, local rewrite (never the whole thing all at once, that is bound to fail spectacularly) or by having time marked out for refactoring.&lt;p&gt;The teams that drown in tech debt tend to have roadmaps that are strictly customer facing work, that can get you very far but in the end you&amp;#x27;ll stagnate in ways that are not easy to fix, technical work related to doing things right once you know exactly what you need pays off.</text></item><item><author>izacus</author><text>I&amp;#x27;ve found that slowdown from tech debt killed as many companies as any other issue. It&amp;#x27;s usually caused by business owners constantly pivoting, but being too slow on the pivot and too slow to bring customer wishes to fruition (due to poor technical decisions and tech debt) is probably one of the top 5 reasons for dead companies I&amp;#x27;ve seen.</text></item><item><author>jacquesm</author><text>That&amp;#x27;s a very interesting set of findings. What is important to realize when reading this that it is a case of survivorship bias. The startups that were audited were obviously still alive, and any that suffered from such flaws that they were fatal had most likely already left the pool.&lt;p&gt;In 15 years of doing technical due diligence (200+ jobs) I have yet to come across a company where the tech was what eventually killed them. But business case problems, for instance being unaware of the true cost of fielding a product and losing money on every transaction are extremely common. Improper cost allocation, product market mismatch, wishful thinking, founder conflicts, founder-investor conflicts, relying on non-existent technology while faking it for the time being and so on have all killed quite a few companies.&lt;p&gt;Tech can be fixed, and if everything else is working fine there will be budget to do so. These other issues usually can&amp;#x27;t be fixed, no matter what the budget.</text></item></parent_chain><comment><author>bcrosby95</author><text>Maybe once you get to that stage it doesn&amp;#x27;t really matter.  Maybe if you&amp;#x27;re going for a billion dollar earth shaking idea, it doesn&amp;#x27;t really matter.&lt;p&gt;However, I&amp;#x27;ve worked for a small company for quite a while now.  We&amp;#x27;ve had several successful projects and several failures.&lt;p&gt;In my experience, technical debt taken too early can easily double the time it takes you to find out if a project is a dud.  That matters to us.&lt;p&gt;My general rule is: push off technical debt as late as you can.  Aways leave code slightly better than you found it.  Fix problems as you recognize them.&lt;p&gt;I think a big mistake developers make is thinking &amp;quot;make code better&amp;quot; should be on some roadmap.  You should be making code better every time you touch it.  Nothing about writing a new feature says that you have to integrate it in the sloppiest way possible.</text></comment>
<story><title>Learnings from 5 years of tech startup code audits</title><url>https://kenkantzer.com/learnings-from-5-years-of-tech-startup-code-audits/</url></story><parent_chain><item><author>jacquesm</author><text>That&amp;#x27;s a good point, tech debt &lt;i&gt;can&lt;/i&gt; be a killer. But the more common pattern that I&amp;#x27;ve seen is that companies that accumulate tech debt but that are doing well commercially eventually gather enough funds to address the tech debt, the companies that try to get the tech &amp;#x27;perfect&amp;#x27; the first time out of the gate lose a lot more time, and so run a much larger chance of dying. The optimum is to allow for some tech debt to accumulate but to address it periodically, either by simply abandoning those parts by doing small, local rewrite (never the whole thing all at once, that is bound to fail spectacularly) or by having time marked out for refactoring.&lt;p&gt;The teams that drown in tech debt tend to have roadmaps that are strictly customer facing work, that can get you very far but in the end you&amp;#x27;ll stagnate in ways that are not easy to fix, technical work related to doing things right once you know exactly what you need pays off.</text></item><item><author>izacus</author><text>I&amp;#x27;ve found that slowdown from tech debt killed as many companies as any other issue. It&amp;#x27;s usually caused by business owners constantly pivoting, but being too slow on the pivot and too slow to bring customer wishes to fruition (due to poor technical decisions and tech debt) is probably one of the top 5 reasons for dead companies I&amp;#x27;ve seen.</text></item><item><author>jacquesm</author><text>That&amp;#x27;s a very interesting set of findings. What is important to realize when reading this that it is a case of survivorship bias. The startups that were audited were obviously still alive, and any that suffered from such flaws that they were fatal had most likely already left the pool.&lt;p&gt;In 15 years of doing technical due diligence (200+ jobs) I have yet to come across a company where the tech was what eventually killed them. But business case problems, for instance being unaware of the true cost of fielding a product and losing money on every transaction are extremely common. Improper cost allocation, product market mismatch, wishful thinking, founder conflicts, founder-investor conflicts, relying on non-existent technology while faking it for the time being and so on have all killed quite a few companies.&lt;p&gt;Tech can be fixed, and if everything else is working fine there will be budget to do so. These other issues usually can&amp;#x27;t be fixed, no matter what the budget.</text></item></parent_chain><comment><author>jakey_bakey</author><text>Exactly this. People forget that the point of the metaphor is that debt is a tool you use to grow faster.&lt;p&gt;Credit card debt (e.g. sloppy code and test-free critical backend processes) is pretty bad and should be paid down ASAP.&lt;p&gt;Mortgage debt (e.g. no UI tests on the front-end) is quite safe and you can kick the can down the road.</text></comment>