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 and curated collections.

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.

Use Netlify's _redirects on Gatsby Cloud

Something always goes wrong when you change hosting providers. ๐Ÿ˜… For me it was redirects. A vital feature of any site migration.

Do important work

Next time you finish a project, ask yourself: *"Might this work be important?"*. Add the polish.

A better React 18 startTransition demo

Demoing startTransition is hard. Modern computers are too fast ๐Ÿ˜… โ€“ Dan Abramov, a React core team member, helped me fix it up. Here's what I learned

Trying out React 18 Alpha

I read everything about React 18 Alpha, trawled through the work group, and ran some experiments. Here's what you'll wanna know.

Words that scare developers

Words that scare developers are powerful tools that are not meant to be safe. That is a valuable lesson.

A fun security bug with static rendering โ€“ CodeWithSwiz #31

The flash of unlocked content is great fun for any paywall

May 2021

Software Engineering is the 2nd best job

Ok so I've been doing lots of research into the Software Engineer job market โ€“ Some highlights ๐Ÿ‘‡