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 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.
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 🥳
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.
PS: always keep time in your back-pocket for the important work that never feels urgent, go gardening on your codebase when you can :)
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.
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.
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
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️