Friend, if your house was on fire, would you mow the lawn first?
A few weeks ago, I was having drinks with a founder friend. They've been struggling to launch v1.
Demos are perfect, tech amazing. The app feels polished as heck. Gorgeous and smooth π
"So why haven't you launched?", I asked.
"Oh you know we need this critical feature for a type of user and then they need to be able to manage it all and have good insights into the results and we need to be able to ..."
Right, it's not ready yet. I get it.
Then I shared a story from $dayjob, a startup that grew 5x in the past year ...
We had a new legal requirement. Health providers are limited by state even for virtual visits. The team got on a call, designed the feature, and 3 days later it launched.
That blew my friend's mind. 3 days from "Okay we accept $Feature into sprint" to "Launched and providing business value"
We used our secret weapon βΒ tech debt
We launched that feature in 3 days because we only built that feature.
That's the secret.
Oh you want to change which states a provider can serve? Ask an engineer and they'll update the production database.
π€―
Yeah we had to change a bunch the first week. Bad data, mistakes in migration, annoying as heck.
And that's okay. The next time we'll change those columns is approximately never.
Do you have any idea how hard it is for a provider to become licensed in a new state? I don't, but I've heard there's exams and studying ... sounds rare.
Are we eventually going to need an admin interface? YES! Do we need one now? Heck no.
Code quality doesn't matter if you're dead
You are paid to solve problems my friend.
Tech debt can help you solve those problems faster. When speed beats quality or completeness.
It's like buying a house or a car.
Sure you could save for 30 years to buy a house or 5 years to buy a car, but you need a place to live and a thing to drive. You can't wait that long!
You take out a loan, buy the thing, and pay it off over time.
Same with code. You solve the problem now, begrudgingly write your full wishes and desires in a tech debt ticket, and throw it on the pile.
99% of the time you'll never fix that. And that's okay. Evidently not important enough π
Sometimes you do fix it! And hey look, time has passed, you're a better engineer with a bigger team and more resources π₯³
Procrastinate
Never fix today what you can leave for tomorrow.
When your house is on fire, put out the fire. HOA rules about lawns can wait.
Cheers,
~Swizec
PS: always keep time in your back-pocket for the important work that never feels urgent, go gardening on your codebase when you can :)
Continue reading about Tech debt is a tool
Semantically similar articles hand-picked by GPT-4
- Reader question: "When do you fix tech debt?"
- Better is good
- Let small fires burn
- Don't neglect your upgrades
- Why great engineers hack The Process
Become a *true* Senior Engineer
Get promoted, earn a bigger salary, work for top companies
Getting that senior title is easy. Just stick around. Being a true senior takes a new way of thinking. Do you have it?
The Senior Minset email crash course
Get a free chapter from the Senior Engineer Mindset book and a sample audiobook chapter, followed by a Senior Mindset 101 email course.
You'll get insights to apply at your work right away.
Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.
Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.
Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help π swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.
Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers π ServerlessHandbook.dev
Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization
Want to get my best emails on JavaScript, React, Serverless, Fullstack Web, or Indie Hacking? Check out swizec.com/collections
Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog
Want to brush up on your modern JavaScript syntax? Check out my interactive cheatsheet: es6cheatsheet.com
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are β€οΈ