Swizec's articles in the "lessons" category
I aim to write mindblowing emails with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them.
Below are 36 articles filed under lessons
. Enjoy ❤️
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"
A backend service nobody can grok
a little case study from an upcoming book I'm writing with Manning about software rewrites
April 28th, 2023
Own the outcome, not the work
Efficient problem-solving in engineering with a shift in perspective – focusing on user outcomes can lead to innovative solutions and change your approach to system design.
April 26th, 2023
DRY vs SoC, a difficult choice
What is the essential difference between DRY and SoC principles in software engineering and how do you balance the two
April 11th, 2023
Coding is the easy part
Behind the scenes of a vendor migration project. What senior+ engineers do so you can focus on the code.
March 24th, 2023
Clever technical hackery can't solve the wrong design
A simple change in perspective can help you overcome complex technical challenges and save time on future projects.
March 7th, 2023
My biggest React App performance boost was a backend change
Performance lives in the unlikliest of places. Follow the metrics.
January 31st, 2023
Why PATCH endpoints matter
A painful lesson from production that brought several engineers almost to tears: *Please* add PATCH endpoints to your public APIs.
October 28th, 2022
How better data modeling fixes your code
When your code feels hard, 9 times out of 10, the problem is with your data model. The signs are subtle.
September 27th, 2022
useCallback is a code smell
One of my favorite ways to simplify and de-gotcha React code is to rip out all the useCallback and useMemo drama. 90% of the time you don't need it.
September 16th, 2022
If it works together, it lives together
Wherein I use LEGO to talk about organizing your code for ease of use
September 5th, 2022
Why others' code is hard to navigate
Some people like to organize code in files and folders and neat categories. Others love search. When they work together, that's the challenge.
September 1st, 2022
Your code doesn't matter
"Your code doesn't matter" is something experienced programmers say, between the lines, when they sound like complete lunatics. But what do they mean? Why does everyone say it?
August 16th, 2022
Move your business logic into data
The quickest way to simplify a complex function with lots of logic is to turn it into data. A lesson from production
August 3rd, 2022
A work ritual that keeps me sane
A coworker asked me for tips on how to stay focused during the day. Here's what I said.
July 15th, 2022
Write abstractions, not just code
Wherein I use a silly example to show why you need more than small reusable single purpose functions to write good software.
July 8th, 2022
Coding forces you to understand the problem
Programming translates fuzzy understanding into exacting specifications. That’s why it’s hard. The Illusion of Explanatory Depth reigns supreme
June 22nd, 2022
A lesson on expertise from a great mafia movie
You cannot make something good until you understand who you're making it for.
June 16th, 2022
Writing software is like kicking a can
Writing software is a playful process of exploration and discovery. Like a game of kick the can on a Sunday walk.
May 25th, 2022
The Italian foods theory of bad software design 🍝
Spaghetti code – unstructured Ravioli code – too structured Lasagna code – layered wrong Minestrone software – unclear domains
May 23rd, 2022
Learnings about the future of the web from Reactathon
The first in-person conference in years! It was wonderful 🤩 - Remix is great - Serverless at edge is the future - GDPR does not play with 👆
May 7th, 2022
The role of a senior+ engineer
"Every product org should have a senior+ engineer whose job it is to run around and make everyone else more productive" 🤔 That IS the role of a senior+ engineer
April 26th, 2022
Saving time in UTC doesn't work and offsets aren't enough
Lessons from a painful outage with timezones, UTC offsets, and database clients that took a whole week to resolve.
March 25th, 2022
A quick lesson in writing resilient code
On the backend anything can and will fail. How do you deal with that?
March 21st, 2022
Immutability isn't free
Or how we took an API endpoint from 16s to 3s.
February 4th, 2022
How I used indie hacking to sponsor my own greencard
The longest project of my life
February 1st, 2022
What to do when bugs are whack-a-mole
What do you do when every bug you fix creates 5 new bugs? You could laugh and move on, or realize it's a sign of bigger issues
January 6th, 2022
The Passion Paradox
burnout doesn't work the way you think
December 24th, 2021
When it’s okay to work overtime
Not all overtime is bad overtime
December 11th, 2021
Why null checks are bad
Every null or undefined check doubles the number of tests you need 😱
December 10th, 2021
Small choices can wreck your codebase
wanna see the strangest looping construct I've found in production code?
December 3rd, 2021
How defensive coding leads to bloat
Defensive coding is an important lesson and over time and engineers it leads to massive bloat, if you're not careful.
November 15th, 2021
Stop SHOUTING = 'shouting'
A hill I will die on 👉 global CONSTANT = 'constant' are bad
September 21st, 2021
Your luck & opportunity surface area
Here's a comment that resonated yesterday and you might like. It's about how to maximize the opportunity in your work.
March 26th, 2021
Different medium, different mindset
Ever wondered what it's like to make a physical book? It ain't as easy as shipping code lemme tell ya 😅
March 19th, 2021
Variants – a quick tip for better React components
Reusable components like to grow boolean props for different situations and complexity soon blows up. Variant props are the perfect solution.
March 2nd, 2021
Lessons from migrating a 14 year old blog with 1500 posts to Gatsby
After 4 years of putting it off, 1 year of tinkering, a month of work, and $1500 of hired help, my new blog is finally here 🎉 Here's what I learned.
August 24th, 2020
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"