Your Software Is Confusing

If something in your software is confusing to a customer, it is confusing. ...

April 7, 2025

Why I'm "All In" on TypeScript

I’ve added TypeScript to several projects I’ve worked on. In this post, I’d like to discuss why I think TypeScript is essential and document my expectations around it. ...

March 26, 2025

"Hit It Twice" Customer Service

I recently learned a practice for customer communication that I’d like to document. It’s called “Hit It Twice.” ...

March 4, 2025

It's Tradeoffs All the Way Down

One common trait among early-career programmers is seeing technology choices in black-and-white. I’ve been there. “Redux is awesome!” “Nested ternaries are terrible!” As you advance as a programmer, for better or worse, you start to see almost everything as a trade-off. ...

February 19, 2025

"I Don't Understand" Debugging

My definition of “I don’t understand” debugging. ...

February 13, 2025

How I Organize a Meetup

I’ve been organizing Meetups for a decade, starting with Vim Chicago and Chicago Elixir, and now running Maine JS from Portland, Maine. In honor of our most recent Meetup, here’s a list of my favorite organizer tips. ...

February 3, 2025

My Annual Review 2024

Here’s my annual review covering 2024. ...

December 31, 2024

Hard-Won Software Development Habits

This post is about how to write software well. It was inspired by this post with a similar title. Read it and write yours. ...

November 27, 2024

We Should Take This Outside

TONY: We should take this outside. ...

November 24, 2024

Being the Third Engineer

I was the third engineer hired by my company, not counting our technical co-founder. I like that position, and it seems to play to my strengths. ...

October 16, 2024

Don’t miss my next essay

Hear from me immediately when I post: no ads, unsubscribe anytime.