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.

November 2021

Why I'm excited about React 18 – talk

React 18 is coming soon. I hope 🤞 Here's a talk I gave exploring its implications and showing off demos with working code.

October 2021

How to take ownership and make progress without explicit direction

25 lessons from 25 years of coding

Today is my birthday which means I've been coding for 25 years. A quarter century 😱 Here's 25 lessons I've learned about code. In no particular order.

How to configure Jest with TypeScript

Using plain Jest on a TypeScript codebase is kinda rough. No types in tests no thanks. Making Jest and TypeScript work together smoothly is something you do just rarely enough to forget the details. Hope this helps you and future me too ✌️

What's more productive, a team or a talented soloist?

Engineers *hate it* when you say it doesn't matter how good they are because a team will outcode them any day. But it's true, you can't build something big on your own.

Learn TypeScript in 5 minutes

TypeScript solves many of JavaScript's sharpest edges. You don't need much to get started ✌️

Meetings – a senior engineer's secret weapon

Boo meetings, yay code, right? There comes a time in your career when coding is no longer your highest impact contribution. Might even be holding you back. 🙊

September 2021

There's two types of engineers

Do you solve problems or execute tasks?

Stop SHOUTING = 'shouting'

A hill I will die on 👉 global CONSTANT = 'constant' are bad

How to rewrite your app while growing to a $100,000,000 series B

When you're in a company desperately trying to meet demand, *ship*. You'll have money, time, and professionals to fix code later. Even if you start with jQuery.

Being a senior/junior engineer in 2021 – podcast

Last week I went on the PodRocket podcast to talk about engineering careers, serverless handbook, and the current job market.

A great engineer knows their tools

Earlier in my career when I thought I was god's gift to engineering but wasn't, I failed one of those stupid interview questions that "have nothing to do with the work". It was a great question.

Anything's a sorting problem if you squint hard enough

What's the most algorithmically fun code you've written recently? 🤔 Here's mine: A dataviz using a grid of triangles that fits into the client's logo.

August 2021

How to ask for help

what makes a senior engineer stand out in an interview? No it's not the amount of side projects or their leetcoding speed. It's knowing how and when to ask for help.

Build simple backends with Gatsby Serverless Functions

Until recently adding a little backend to your Gatsby site meant 2 options: 1. Climbing the AWS learning curve 2. Rewrite with NextJS Now there's an /api directory 😱

WorkInProgress kills your progress

If it takes 6 engineers 10 days to complete 6 projects in parallel, why does it take 8 days when you work together 🤨

Reader question: "When do you fix tech debt?"

Long time reader Phil asks when do you fix the tech debt you used to ship faster. Heroic efforts don't work. The real answer is "always" – a mindset of gardening.

Tech debt is a tool

If your house was on fire, would you mow the lawn first?

Complex vs. complicated

Would you rather work with a complex system or a complicated system? 🤔

July 2021

Pay yourself first

Profit is not what's left after expenses, expenses are what's left after profit.

You don't need a big team to automate your work

The opposite of folks who follow every FAANG trend and over-engineer their companies to death, are the folks who *never* take advice from the big boys.

Tips for a fulfilling tech career

When I dropped out of college to focus on freelancing back in 2012, I set 3 ground rules:

React 18 and the future of async data

Friend, I have glimpsed the future and it is amazing. React 18 is shipping with Suspense and startTransition for deferred component rendering, but not data loading. That's coming in a future 18.x version.

What I learned from Software Engineering at Google

When I first picked up Software Engineering at Google I thought it was another one of those FAANG books full of lessons that make no sense at human scale. I was surprised, lessons apply to teams as small as 5.

Your career needs a vision

In his book, The Art of Science and Engineering, Richard Hamming says the key to a great career is vision. What does that really look like?

Preventing RSI for programmers

I've been computering daily for 24 years, since I was 9, and managing RSI since high school. People often ask how it never gets bad. This is the article I always wish I had written.

Why a coding AI like Github Copilot won't take your job

It might. What's your job? If you're in the *"write code to exact specifications"* business ... now's a good time to start leveling up. The AI's not ready yet.

How to own projects like a senior engineer

The best skill you can learn is ownership. The second best is to let go.

June 2021

Hacking the React AST for fun and profit – #CodeWithSwiz ep34

This is hold my beer level of hackery. It didn't work but we learned lots in the process.

A surprising feature of JavaScript optional chaining

This blew my mind, thought you'd like it too. You can do more with ?. than you thought.