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.

87 articles from 2021 Β· show all

December 2021

How I stopped chasing mice in 2021

How a focus on long-term games changed my approach to everything and calmed down my life

The Passion Paradox

burnout doesn't work the way you think

pg-mem and jest for smooth integration testing

The cult of TDD leads you down a dark and stormy path towards brittle code with a false sense of security. But there is a better way. A sweet spot between unit and heavy integration.

A mental framework that helps you code faster

What slows you down the most when you're coding or doing software engineering? I think it's how fast you make decisions

Datalist, the pure HTML typeahead you didn't know about

If you ever want to build a searchable typeahead field, `<datalist>` can do that for you. On all browsers. Across devices. Standards compliant. With no JavaScript. 🀯

When it’s okay to work overtime

Not all overtime is bad overtime

Why null checks are bad

Every null or undefined check doubles the number of tests you need 😱

Small choices can wreck your codebase

wanna see the strangest looping construct I've found in production code?

November 2021

Better tooling won't fix your API

RESTful APIs are like Agile – everyone does it differently and if it isn't working, it's your fault for doing it wrong. 🀨

What to expect in senior level interviews

Interviews are terrible. Stressful, time-intensive, loosely correlated with on the job performance. They're the least terrible way we have to hire.

Getting from junior to senior

The difference in salary between a junior and senior engineer can be orders of magnitude. Many multiples at least. But what's the difference in mindset that gets you there?

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.

Your job as an engineer is to make yourself unnecessary

You can use React Query for slow computation, not just API

You can use the ergonomics of React Query for any slow operation and it's wonderful.

Balancing serious sidehustles and full-time work

Erik, the author of Developer Hegemony and founder of Hit Subscribe, invited me to chat about balancing sidehustles and full-time work

Finding unresolved promises in JavaScript

JavaScript is a fantastic server-side language because it's async. That also makes it tricky. πŸ’© What happens when you swallow errors? Forget to resolve promises? Or run into a number of other anti-patterns

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.