Articles
Software engineering lessons from production, raw and honest from the heart — almost 20 years of them. Jump to a year in the sidebar, or browse categories.
February 2021
A TypeScript trick for reusable hooks
Reusable hooks are all fun and games until TypeScript starts yelling at you about incompatible types.
React Bricks - visual blocks editor for NextJS #CodeWithSwiz 22
Tried a new visual editor for NextJS and CreateReactApp. Got a site up in 20min 🤘
The Magic Function principle
Write functions, mostly magic.
January 2021
"silicon valley is like hollywood"
and I don't mean Silicon Valley the place, I mean Silicon Valley the concept.
[CodeWithSwiz 21] useAuth beta support for Firebase 🎉
It works! useAuth has beta-level support for Firebase Auth 🥳 I did not expect that to take 3 sessions.
Tech interview best practice that fails in life
Tech interviews have a magic answer: The hashmap. And it's not always best on the job.
[CodeWithSwiz 20] Adding Firebase support to useAuth, pt2
Firebase continues to be 💩. No wonder people keep asking for support in useAuth. Almost there ✌️
What computer science can teach us about vaccine distribution
How would you rollout the covid vaccine for max fairness and speed?
[CodeWithSwiz 19] Firebase Auth support in useAuth, pt1
Support for Firebase Auth is one of the most requested features for useAuth and I figured what the heck, how hard can it be?
Why you can't find an engineering coach
Wanna learn boxing? Join a gym, find a coach. Tennis player with a kink in your game? Find a coach. Software engineer with a missing skill? Google, random blogs, fun newsletters, dubious podcasts, noise on twitter 🤨
Reflecting on 2020
The year that felt like a drag and ended in the blink of an eye.
December 2020
Deep work December
do you ever feel like you're working working working and nothing is happening? Like a game character running against an invisible obstacle? That's how I've been feeling lately. Stuck.
November 2020
How *do* you standout as a developer?
Course creators are always telling you to learn this or that but how does any of it help *your* goals? That's the missing piece 🤔
SSR, SSRwR, SSG, CSR, WTFBBQ???
These abbreviations are getting out of hand. It's like a bad interviewer's wet dream.
You're not asking for a job, you're selling a service
You're not asking for a job, you're selling a service. The true question behind every interview is "How can you help us?"
Gatsby to NextJS pt1, server-side-render or server-side-generate?
Gatsby and NextJS do similar things differently. One is better for websites, the other for webapps. In episode 17 of CodeWithSwiz we explore the biggest difference.
Use private libraries to cleanup your codebase
You're using the many-small-repositories approach to work faster as a team. But where do you put shared code? How do you make it nice to use? How to publish and install private packages?
React context without context, using XState – CodeWithSwiz 14, 15
useAuth works without React Context! 🎉 here's how
What's your code for?
Perfect code that doesn't solve the problem is useless. Perfect metrics that don't serve the user are a distraction.
Reader question: How do you learn programming topics?
Nader writes in worried that he started coding too late and his progress is too slow. Here's my response.
October 2020
The ultimate test for your webapp: Airplane wifi
Forget time to first byte and time to interactive. What's your time to useful?
Learn Gatsby and NextJS with my new workshop
Think of the last time you started a new project. You spend the first few hours getting started. Ugh
How JAMStack helps you ship
Common problem in engineering teams: Stepping on each other's toes. JAMStack can help.
The mistake that strangles engineering teams
You work hard on a feature. Weeks of back and forth with designers, product managers, tech leads, and the rest of your team. Your feature is amazing and you're proud as heck! But then ...
How I use delegation to get more done
Productivity porn shows you how to pack more into your day. Productivity porn is wrong my friend. You need to remove things to grow.
Swap useReducer with XState – CodeWithSwiz 13
In Refactoring a useReducer to XState we talked about a 5 step process to turn a reducer into an XState state machine. Today answers "Ok now what?"
Sucking is the first step
You ever feel like you have no idea what you're doing? Everyone feels that way. Sometimes more, sometimes less.
How to write tests for XState – CodeWithSwiz 12
Once you know how to refactor a useReducer to XState, you gotta prove you did it right.
Should you take a pay cut for equity
Would you take some % of your salary in bitcoin? The joke is that compared to pre-IPO equity, bitcoin is predictable and has a known value.