Code is Liability
Debts and Liabilities
Have you heard of Technical Debt? Of course you have. It's part of the Corporate Gibberish Lexicon.
If you search for Technical Debt, you'll find millions of pages:
Have you heard of Code is Liability? Probably not. If you search for information, you'll find a scant 20k pages or so:
Though economists and accountants may quibble, for our purpose, they are related:
liability
Something for which one is liable; an obligation, responsibility, or debt.https://www.thefreedictionary.com/liability
Why do we think so much about Technical Debt but not about Code as a Liability?
Imagine
In the world of software engineering, we often glorify code. We speak of elegant solutions, beautiful architectures, and clever algorithms. But there's a hard truth we must face: code is liability.
Picture a vast, empty field. Each line of code you write is like planting a tree. At first, it seems productive. You're creating something from nothing. But as the forest grows denser, it becomes harder to navigate. Harder to change. Harder to maintain.
Users don't care about your forest. They care about the fruit it bears.
In my years as a founding engineer, I've learned this lesson repeatedly. It's not about how much code you write. It's about the value you deliver.
Less is more.
This principle aligns with Erik Peterson's rule: "Less is More." In engineering, every line of code is a liability. It's something that must be maintained, debugged, and eventually replaced.
So how do we apply this?
- Focus on the problem, not the code. Understand what your users truly need.
- Resist the urge to over-engineer. Simple solutions are often the most robust.
- Embrace tools, libraries, and architectures that reduce the need for custom code.
Remember, your users don't care about your code. They care about the interfaces you provide them. They care about the value they receive.
tl;dr
In the end, the best code is often the code you don't write. It's the problem you solve without adding complexity. It's the liability you avoid creating.
As we build and grow, let's keep this in mind. Let's strive not for more code, but for more value. For solutions that are elegant in their simplicity, not their complexity.
Code may be our craft, but value is our purpose.