Swizec Teller - a geek with a hatswizec.com

    Tech debt is a tool

    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.

    xLoVdBjpg270505

    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 :)

    Did you enjoy this article?

    Published on August 13th, 2021 in Opinions, SeniorMindset

    Want to become a true senior engineer?

    Getting that senior title is easy. Just stick around. Being a true senior takes a new way of thinking. Do you have it?

    Leave your email and get the Senior Mindset series - a series of curated essays on the mindset of a senior software engineer. What it takes to get there, what should you do when you're there, how to change the way you think.

    The Senior Mindset series

    Get a series of curated essays on the mindset of a senior software engineer. What it takes to get there, what should you do when you're there, how to change the way you think.

    it describes my days in a way I have not read before.

    This was a very enlightening article about being a senior engineer.

    Join over 10,000 engineers just like you already improving their careers with my letters, workshops, courses, and talks. ✌️

    Have a burning question that you think I can answer? I don't have all of the answers, but I have some! Hit me up on twitter or book a 30min ama for in-depth help.

    Ready to Stop copy pasting D3 examples and create data visualizations of your own?  Learn how to build scalable dataviz components your whole team can understand with React for Data Visualization

    Curious about Serverless and the modern backend? Check out Serverless Handbook, modern backend for the frontend engineer.

    Ready to learn how it all fits together and build a modern webapp from scratch? Learn how to launch a webapp and make your first 💰 on the side with ServerlessReact.Dev

    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 ❤️

    Created bySwizecwith ❤️