, 23 tweets, 5 min read
My Authors
Read all threads
"Technical Debt" is a term that gets thrown around quite a bit by engineers but unfortunately tends not to percolate up to the executive level/board of directors until it reaches crisis point.

Here are some insights/thoughts re keeping your technical debt load in check:

/1
For the sake of a simple, common definition, in my view, technical debt is accrued to a startup’s balance sheet anytime that engineers have to make suboptimal technical decisions to meet a commercial goal.

/2
In the old days, "On-prem" software meant you literally had a bespoke product, loaded on disks, for each client

Technical debt *was* the product.

More recently, consumer services like Facebook essentially have one product that serves billions (with a healthy dose of i18n).

/3
If one piece of software can serve all of a startup’s customers, it may well be en route to building a machine that produces increasing, nearly-never-ending returns. Unfortunately, most startups are forced to make concessions along the way that make this dream unrealizable.

/4
A few common ways debt piles up:

🛠️ Customizing software for customers
⚙️ Developing new features to close deals
📦 Porting software to new platforms

How do u know you’re in technical debt?

If you can’t do 10+ updates a day, you will inevitably face heavy “debt” payments

/5
I think everyone understands on a gut level that technical debt is bad, but it’s important to understand *how* it harms startups.

/6
📚 Tech debt turns startups into consulting shops

Top-tier law firms sell access to proprietary legal “algorithms” alongside a high-margin service layer on top. Many startups fall into this mode (without the high margin services) completely without realizing or admitting it.

/7
💀 Debt accelerates a downward spiral

Taking too much VC leads many startups to chase growth at all costs (NB: techcrunch.com/2017/10/26/tox…). Amassing technical debt allows a startup to grow quickly, but eventually, growth slows, debt stubbornly accrues and problems mount.

/8
🍷 Tech debt increases Fragility

A good measure of debt load is when an employee leaves. Often, the key account they managed was held together by their specific expert knowledge and the departure leaves behind a disaster.

Think of it as a technical debt balloon payment.

/9
🐌 Tech debt reduces speed

The ability to spur growth by incurring debt has diminishing returns. At a point, the debt load swamps a startup’s chief competitive advantage: agility.
New opportunities will be foreclosed by a requirement to support promises to prior customers.

/10
🙈 You get no credit for paying off technical debt

Paying off your technical debt generates no value. In fact, it will likely diminish a startup’s value in the short to medium term by increasing the engineering staff and associated costs.

/11
All that said, technical debt is an inescapable reality. There’s no avoiding it, only managing it.

Here are some approaches that I’ve seen be effective:

/12
🔎 Learn to to recognize tech debt

If it can’t be seen, it can’t be managed!

Sin: Not realizing how much debt is incurred

Lesser sin: Aware of the debt, decide to take it on anyway

Virtue: Understand the tradeoffs of debt and incur for well understood strategic reason

/13
👋 Admit there’s a problem

Founders BS themselves and boards
Boards BS themselves

Entrepreneurs shouldn’t wait for tech debt to become a crippling problem before addressing it. While everyone's incentives are based on growth, debts can only be ignored for only so long.

/14
⚖️ Find the efficient frontier of technical debt

The “efficient frontier” of financial debt is a simple concept. Too much debt strangles growth via interest payment. Too little debt minimizes growth through lack of investment. Apply the same principle to technical debt.

/15
🚀 The spacecraft must be fixed mid-flight

There are no clean slates at startups. Five year planning cycles make sense at Oracle, not at VC-funded startups that expire in 12-18 months absent a further infusion of capital. Don’t wait for a perfect moment to tackle tech debt.

/16
📈 Adopt a scale mindset

There are $100M ARR startups with 20 person engineering teams, but they don’t luck into this kind of efficiency. It’s achieved by thinking steps ahead and making wise investments early on in the startup’s life.

/17
🧱 Design for Mass Customization

It’s one thing to build a custom feature for a client. It’s another to turn that feature on from within a mass-customizable codebase. Alway encourage the product team to think in terms of an architecture of mass customization vs. bespoke.

/18
✂️ Pay for shortcuts

Make liberal use of 3rd party tools to keep engineers focused on core value-adds. Engineers will gripe about the limits of these tools and the BoD might flinch at the cost. Still, when time and velocity are at a premium, tools are a great investment.

/19
💳 Prepay the debt with service revenue

Services get a bad rap as unscalable sources of revenue, but some of the best companies in SaaS have used services revenue to defray the cost of scaling. Maybe consider following their lead:

HT @chetanp

/20
🛒 Technical debt is a good reason to sell a startup

If a founder is looking at a multi-year rewrite of their codebase, there truly may be no better time to sell. Sometimes acquirers may not even care, as they may just migrate customers onto their own systems anyway.

/21
🏦 Debt is an imperfect metaphor

Unlike a real balance sheet, startups can never get back to even. Tech debt isn’t a burden to be temporarily managed & paid down. It’s a series of tradeoffs that permanently alter the trajectory of a startup.

Incur it carefully!

/22
Happy Holidays!

/End
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with David Frankel

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!