Read Software Engineering Lessons from Production
Hi I'm Swizec π
I write 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. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.
your emails are one of the few resources I've found that go much farther than, like, all the resources I'm accessing on a regular basis. I find the emails help guide my self-teaching approach to make choices that produce meaningful engagement
~ A Reader
Subscribe below π
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. π"
Latest articles
Why you need observability more than tests
Here's a short and sweet story about a Friday deploy. I love Friday deploys.
The swarm doc
Here's a doc I like to use to structure the pre-work design chat that makes later code review a breeze.
Big Ball of Mud βΒ the world's most popular software architecture
Forget Gang of Four, here are the 7 architectural patterns real programmers use:
Why software only moves forward
At scale there are no rollbacks and no cut-overs. Your software only moves forward.
Don't judge tech just because you're old
Your favorite way of doing things may just be an expression of tech limitations at the time
Or try a curated collection
Learning from tutorials is great! You follow some steps, learn a smol lesson, and feel like you got this. Then you go into an interview, get a question from the boss, or encounter a new situation and o-oh.
I aim to bring you the good stuff you only learn by doing. To expose the seedy underbelly of production code. The good bits that take months and years to find.
Learn the mindset of 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 know it?
Don't judge tech just because you're old
Your favorite way of doing things may just be an expression of tech limitations at the time
"Yes caviar is great, here's a ham sandwich"
Why do some projects ship and others seem to drag on forever? You need 3 people to get this right.
Yes, AI will "take" your job. No, you won't mind
Is the job to get things done or to memorize trivia and solve cute coding puzzles?
Read JavaScript and TypeScript lessons from production
I took a bet on JavaScript in 2005 when it was known as DHTML. It's been my favorite language ever since. Since 2019, I've been full into TypeScript βΒ perfect balance between flexibility and correctness.
The efficacy of TypeScript
TypeScript may streamline code navigation and catch semantic errors, but it doesn't guarantee fewer bugs or faster fixes.
TypeScript runtime vs types at run-time
Understanding the nuances of TypeScript: it adds static types to JavaScript, reducing bugs by checking code validity pre-run. But imagine if we had types at run-time too - validating inputs, enhancing error messages. A dream, but a nice one.
Bun β first impressions
I've been using Bun in a few side-projects and I like it a lot
Take your React beyond the tutorial
React is here to stay. It solves many problems you may not even know existed. These essays are the good stuff I learned over the years.
Tips from 8 months of TanStack/Router in production
On my last day at Tia I wrote a master vision doc for our TanStack Router app. Here are the parts I can share.
Why useSuspenseQuery works
A reader asked 'Wtf why does this work?'
Cleaner components with useSuspenseQuery
Sick of complex states in your code? React Suspense can simplify your components for more readable, robust code!
Find insights into Serverless and modern backends
I've been building web backends since ~2004 when they were just called websites. With these curated essays I want to share the hard lessons learned.
People like me are why you shouldn't run a hosting company
A daring adventure of manipulating GET parameters in a NextJS 14 project, pushing hosting limits and avoiding the need for data storage. Dive into the chaos of compressing inputs to keep the project delightfully storage-free.
Are you annoyed by the extra space after your name [name|]?
Behind the scenes of a tiny bug that survive 919 days
Async React with NextJS 13
We look at React's native async support and how to use it in a NextJS 13 app. Learn how to use async components, parallel loading states, and caching with React.js and NextJS 13.
Read about indie hacking from the trenches
Indie Hacking has been near and dear to me for over a decade. Diversifying your income is a wonderful habit. I don't write about running a side business as much as I used to, but many of these lessons permeate my approach to software engineering and the Senior Mindset.
It made me $500k but I think content is a bad business
Why I didn't become a full-time creator/educator
Coding is a brawl, not a battle of wits
Discover why coding is more like a boxing match, focused on delivering results rather than perfect technique. Learn how to navigate economic upheaval and prioritize business needs in this unexpected comparison.
The market always wins
No amount of growth hacking, investor money, or a/b testing will save you, if people don't want what you have.
What others are saying
Read the full list of testimonials
Swizec, I love your way of writing these newsletters. Often very relatable and funny perspectives about the mundane struggles of a dev. Lightens up my day. Β ~ Kostas
Great insights. Completely loved it. ~ Yannik
It's extremely valuable on a daily basis, I didn't even know I needed it so much. ~ Bruno
Itβs inspirational, the examples you chose are simple enough to give me ideas and make it feel possible ~ Bestio
Never really thought about the value of my engineer mindset since we've been conditioned to only care about the low level code. Thanks for the reminder to take a bigger picture view of our work. ~ l0cam0chaa
Something that I needed to hear today :) ~ Elisa
You inspire me Swizec. I love getting your emails. +1 ~ Anthony
Good lessons summarized neatly in a quick read ~ Nesim
I enjoy your writing style. You make the content enjoyable and very readable! ~ Paula
It had depth and story telling to relay the important message. ~ Bahit
Its positive and infectiously so. ~ Toni
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. π"
About
π Hi I'm Swizec - a geek with a hat - and 13 years ago I was just like you: starting my career.
Looking for "real" engineering jobs, dreaming of FAANG, and making $7/hour building websites. Europe ain't no San Francisco that's for sure π
Through hard work and perseverance, I made it into Silicon Valley πͺ Got a high 6-figure job, a nice sidehustle, and plenty in the bank.
Now I want to show you everything I learned both technical and not. Mindsets, tactics, and technical skills.
You can find me on Twitter, GitHub, and YouTube, or email me at hi@swizec.com
Here's how I help beyond the newsletter π
Workshops
Senior Mindset
Getting that senior title is easy. Just stick around. Being a true senior takes a new way of thinking.
You're a great engineer. You can code anything you need, solve every problem, google any solution. Your code is flying.
But somehow you're ... stuck. Interviewing feels rough, you pass the coding and fail the real stuff. Culture and system. At work they keep giving you stupid little problems with no growth. You crave challenge and keep tweaking CSS instead.
You want some responsibility, damn it! What's that coworker got that you don't?
Most of all you crave autonomy. The freedom to tackle big challenges and help the company with your brilliance.
They don't even see all the bad code you see! How can they live like this?? Instead of autonomy, you're getting babysat. Managers asking what you're up to, daily standups that feel like a drag, pushback and 'maybe someday' on every idea that you give.
I was like that a few years ago. A totally senior engineer who keeps running into walls and getting stuck.
Now even bigger companies trust me with designing systems and leading teams on projects that could make or break the company.
In this workshop you'll learn what changed and how to apply the Senior Mindset to your work and career:
- How to gain autonomy
- Inspire trust
- Own large projects
- Get freedom to experiment
- Have your ideas heard
- Think like an expert
- Become a decision-making peer, not a pair of hands
You'll work on case studies, analyze anecdotes, discuss insightful books, and look at your work and career in a new light.
Email me to book Senior Mindset Workshop at your company or conferenceServerless React
The web has never been so productive.
You can build and launch a whole new app in just a few hours. Itβs crazy! You can build what huge teams with large budgets could only dream of a few years ago.
- Beautiful UI? Got that.
- Great SEO? Yep. Easy.
- Amazing lighthouse speed scores? You got it.
- Running heavy code on the backend? Done.
- Saving user data? Yepp.
- Works on mobile? Of course.
- What about an offline PWA? Absolutely.
- Makes money? Yep got that too.
Maybe itβs not your job to do all that in your company right now. The bigger the company, the smaller your area of expertise.
But wouldnβt it be awesome if you could do all of that? What if the next time you have an idea for a great feature, you just build it? Own the whole stack from start to finish. Youβd be a superhero!
Or maybe itβs just for you. Great idea for a project, an app, a painful problem you want to solve? Now you can. Thereβs no faster way to upercharge your career than a side project youβre passionate about. In this workshop, you will learn:
- How to set up a static-first webapp with Gatsby
- Why thatβs important for SEO and speed scores
- How to build good looking UIs without design skills
- How to move some functionality to the backend using a serverless approach
- How to use serverless to store user data
- Using GraphQL to query your data
- How to add user authentication
- How to monetize your creation
Youβll leave this full-day workshop knowing some of the most powerful (and fun!) technologies that make web development in 2020 so amazing.
Sign up to get notified when Serverless React Workshop happens next π
Email me to book Serverless React Workshop at your company or conferenceReact for Data Visualization
Become a data visualization engineer with React + D3v5. Creating dynamic and interactive data visualizations on the web is a pain. It gets really hard when you add animation, inter-connected dashboards, and fast performance on mobile devices.
Youβre either using libraries you canβt customize, copy pasting D3 examples you donβt understand, or battling documentation to write spaghetti code you canβt reuse. Itβs okay, weβve all been there :)
In this workshop, you will learn:
- How to build modern data visualization the maintainable way.
- Modeling your code as a state machine in React apps
- D3 Fundamentals
- Different ways to integrate D3 with React
- Investigate the pros and cons of each method
- Build something beautiful together
By the end of this workshop youβll have the tools you need to build any dataviz challenge your boss or client throws at you. Even if they ask you to animate 20,000 datapoints on a 5 year old phone.
Sign up to get notified when React for Dataviz happens next π
Email me to book React for Dataviz Workshop at your company or conferenceReact and Redux
React and Redux was a workshop I taught in 2016/17 at several large companies.
It went over the basics of React, how to think with unidirectional dataflow, the fundamentals of using Redux, and prepared teams for migrating their codebases to React. They were lots of fun.
You can see the materials online for free. They still work, but it's not how you write modern React.
Books
Senior Engineer Mindset βΒ 2022
Are you tired of babysitting from your boss? Do you want more autonomy? Looking to solve bigger challenges? Dreaming of those $300,000+/year compensation packages?
You're not alone.
Getting the senior title is easy β just stick around. But to be a true senior, you need a new way of thinking that goes beyond the code. That's what unlocks your career.
Serverless Handbook - 2021
Modern backend for frontend engineers.
Serverless Handbook shows you how to use your existng JavaScript and TypeScript skills to build backend systems with the serverless paradigm.
Based on AWS and the Serverless Framework, you'll learn how to build your ideas without wasting time on DevOps and server management.
React + D3v4 - 2017
This book is now the React for Dataviz course
Creating dynamic data visualizations on the web is a pain in the ass.
You either have to use dumbed down libraries that won't let you do what you want, or make everything from scratch. Every time.
You want a quick way to build complex visualizations. Build once, use everywhere. In every project. Don't believe me?
With React + D3v4 you'll learn how to build re-usable visualization components in about an hour.
Data Visualization with d3.js - 2013
When you're learning d3.js on your own you often feel like Step 1: Draw two circles, is followed by Step 2: Draw the rest of the owl. My book aims to bridge that gap.
I guide you through complete examples from basic shapes on a page to full blown visualisations. There is no magic here, no steps left unexplained. You will understand everything that goes into making a visualization with d3.js.
Why programmers work at night - 2012
The early bird does not always catch the worm, sometimes it meets a cat.
Programmers often work on unusual schedules that do not jive with the modern 9-5 office culture. They don't even do their best work at offices.
This book shows programmers and those around them that there's a better way.
"My girlfriend loved your book! " ~ Jan HanΔiΔ
Courses
Serverless React
Most professional engineers can't build an app from scratch
Learn how to build fast modern webapps from idea to launch with ServerlessReact.Dev
You're a brilliant engineer. Great at your job. Someone gives you a spec and you get it done. Bam πͺ
But you can't ship a product on your own.
You work with others. They're slow. They're busy. There's meetings. Committees. Pull requests. Managers. Approvals. So much work about work that doesn't deliver value to users.
Every little thing involves a designer, a JavaScript expert, a CSS professional, a backend engineer, a database person, the QA team, the devops folks, the ...
It takes you months to turn a star button into a like button.
Ugh.
What if you could grab an idea by the horns and build the damn thing? Own a feature from start to finish?
Check out Serverless React πReact for Data Visualization
Stop copy pasting D3 examples, create data visualizations of your own
Learn how to build scalable dataviz components your whole team can understand with React for Data Visualization
So you want to build a beautiful data viz. You've got data burning a hole through your pocket, an idea for a juicy story, and your boss or client are waiting for results.
You want something that looks great, works in the browser, performs on mobile, lets users interact with their data, syncs across an entire dashboard, and works as building blocks for future projects.
Cool ... now what?
"I've tried D3 in the past, found it powerful but a bit confusing to use"
Dynamic data visualization for the web is a pain in the ass you see. Harder than it looks.
Yeah sure anyone can build a chart in google docs but that's not what you're after is it? You can't build a product on top of google sheets. You definitely can't feed in dynamic data from an API, personalized to the user, and let them navigate and explore.
You've heard people build these amazing things with D3. The New York Times uses it, The Guardian does, so do Netflix, Uber, 23andMe, Visa, Walmart, and many others. I know because they've been to my workshops ;)
You hunt the web for examples and omaigod what is this!? How the hell is D3 doing that? π³π³
Check out React for Dataviz πTalks
βIf you donβt have time to build it right, when will you have time to build it twiceβ
β Basti (@bwalkdev) June 17, 2022
Nice Talk from @Swizec at @ReactSummit pic.twitter.com/UCOitMfEMp
Entertaining and insightful
~ Ryan Florence about my talk at Reactathon 2022
Swizec had everyone simultaneously laughing, commiserating and applauding with his epic tale of blood, sweat, tears and rewrites. This session also featured the single best quote of the entire conference: βEditors are horrible peopleβ.
~ Kay Smoljak about my talk at WTD Hungary 2014
First talk of the conference that made me want to close my laptop
~ lowk3y about my keynote at Drupal Alpe Adria 2014
Email me to speak at your company or conference
- 2024 - Scaling Fast, lessons from ~15 years in tech startups β C3Fest, TechLeadConf
- 2023 - Forget Bad Code, Focus on the System β React Summit US
- 2023 - Lessons from working as a Tech Lead β TechLeadConf
- 2022 - You Do Have Time To Build It Twice βΒ React Summit
- 2022 - Serverless in 10min and why you should care β Reactathon
- 2021 - What's so exciting about React 18 βΒ React Technical Dinner
- 2020 - Wormhole state management with React Hooks βΒ ReactiveConf Meetup
- 2020 - UseAuth - delightfully simple authentication in React - #wwwhmb 111
- 2019 - The Web Got so Good You Can Build a Startup in 1 Day - Silicon Valley CodeCamp
- 2018 - Data Visualizations with React + D3
- 2018 - Using blockchain for shared UI state on the web
- 2017 - Modern web development: The Component is King
- 2016 - Reusable data visualization with React and d3.js
- 2016 - How to use React and d3.js to Build Visualization Components
- 2016 - bayd3: React & D3 - Better Together
- 2015 β HTML5DevConf: Reusable data visualization with React and d3.js
- 2014 -Β Wat ... are we doing to ourselves?
- 2014 -Β Why programmers work at night, keynote
- 2014 -Β What I learned writing a lousy tech book
- 2013 -Β Self-publishing yes or no
- 2012 -Β Why programmers work at night
- 2012 -Β Modern Python idioms
- 2012 -Β I don't like servers
- 2012 -Β Django SQL optimisation
- 2012 -Β Blogging, hats, stuff
- 2011 -Β Tools that get you laid
- 2010 -Β Scraping the wild internets
- 2010 -Β The future internet
- 2010 -Β LazySharer
- 2009 -Β The Synaptic Web