Beware of Vasooli – pay your Technical Debt
Startups are always rushing to ship new product features as fast as possible. Time-to-Market is one of the most important factors to survive out there. Unfortunately, the most common casualty in the rush to ship things faster is ‘Product Quality’. You willingly cut corners wherever possible to ensure that timelines are met, unknowingly increasing your Technical Debt.
Technical Debt adds up when you ignore writing tests for your code or are dependent on individuals to build code, have manual processes to deploy stuff on servers, and are maintaining your servers individually leading to snowflake servers (each server is slightly different from the rest), and as Vasooli would remind you - just like any other debt you pay interest on it! In the form of lost hours fighting weird bugs, fixing issues where code behaves differently on every server, by getting slower and slower as your code grows because it becomes difficult to navigate over time and so on!
Thus be wary of cutting too many corners, follow the practice of clean code, write unit tests for everything, and automate everything – from your infrastructure provisioning, code-linting, code integration to the final deployment. Build short feedback loops to expose issues as early as possible in the cycle and no matter how counter-productive it seems, spend time upfront to automate as much as possible. And even if we sometimes have to incur some technical debt to gain delivery speed, pay it back as soon as possible and keep it manageable. I assure you, the time spent on the above are the investment that will pay a dividend over time, keeping you free of debt and keeping your balance sheet healthy.
Vasooli- It refers to the debt, the interest and the overhead expenses which circumvent due to delay, at fixing issues.
Clean Code- A handbook to Agile Software Craftsmanship, by Robert C. Martin.