Building software in a business context is not about elegant solutions to brain-tickling puzzles. It's a brawl. A slugfest to see who's standing at the end of round 12.
I use a boxing analogy because boxing is the perfect analogy. And I've been saying this for 12 years.
In a boxing ring good technique can help, but you win by landing more punches. Or even by landing one lucky punch that gets a knockout. Plenty of great fighters lose to a worse fighter.
An interesting fight
In 2019 Anthony Joshua fought Andy Ruiz. Joshua was the unified world champion from England. A towering greek god of muscle. Ruiz was a last minute stand-in for a disqualified fighter (drugs). He looks like he just walked off a backyard barbecue.
Wanna bet?
Here's how the fight ended:
Ruiz won by knockout in round 7 and became the world heavyweight champion. You can watch the full final moments of that fight, here. Watching how tired and confused Joshua gets when Ruiz knocks him down twice in 30 seconds is beautiful. You can tell he wasn't expecting this schmuck to put up much of a fight.
But that's how boxing goes. How good you look, or how great your technique, or how perfect your philosophy doesn't matter. Are you landing punches?
A famous battle of wits
It's a lot like challenging a Sicilian to a battle of wits.
The Man in Black challenges Vizzini to a battle of wits – 2 chalices, 1 is poisoned. Who gets to die?
Everybody knows that this is one of the classic blunders - the most famous of which is "never get involved in a land war in Asia" - but only slightly less well-known is this: "Never go in against a Sicilian when death is on the line"!
Vizzini shows his dizzying intellect through a wild sequence of logical inferences, psychological tricks, and underhand shenanigans. Then he drinks his cup and ... dies.
The Man in Black had spent years building up his tolerance to iocaine powder. Both cups were poisoned.
It doesn't matter who can logic harder, only who wins.
Why I'm telling you this
Ok so why should you care about this?
The economy is being weird. Tech continues to struggle, inflation is forcing people to start making choices and cut optional subscriptions, investors are pushing startups to stop coasting and start winning.
We're in a fight. Your job is to ship. The code doesn't need to be perfect, or even good. It needs to be shipped. And it needs to work.
Why are engineers so surprised to learn that they're meant to deliver business results bigger than their salary?
— Swizec Teller (@Swizec) April 2, 2024
Forget what the internet tells you about best practices and get shit done. If it doesn’t help you ship, it’s not a best practice. Land those punches.
Hard times help you deeply understand what matters. You can't tell a must-have from a nice-to-have until you face constraints that force you to make tough choices. And if your business leaders aren’t telling you these constraints, ask.
Would you prefer a 0.3% faster app or a new feature with 5% higher margins?
I love how once interest rates went up everyone stopped caring about JS bundle size 👀
— Adam Rackis (@AdamRackis) April 2, 2024
When the business is flush with cash, you can justify anything. When customers start to pull back ... well.
Cheers,
~Swizec
Continue reading about Coding is a brawl, not a battle of wits
Semantically similar articles hand-picked by GPT-4
- Why every entrepreneur should take up boxing
- 4 years of coding in San Francisco, lessons learned
- Student+entrepreneur != hard
- The code is not the goal
- Outputs are not outcomes
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 ❤️