Don't Stay Stuck

We’ve all seen this: a frustrated coworker hunched over a computer after hours, flailing alone against some impossible bug. Go home, coworker. Don’t stay stuck. ...

March 1, 2022

Why Vim

I’ve been using, teaching, and stanning Vim since almost the beginning of my programming career. Yet, when asked to explain this preference, I stumble. In this post, I’d like to explore why I love Vim. ...

February 23, 2022

On Disabling Tests

Today I want to talk about a common technique: disabling failing tests to allow a feature to ship. Maybe sometimes you gotta do it. But long-term I think it causes more problems than it solves. ...

February 22, 2022

Count to Ten

Here’s a trick that that has helped me as a programmer: before doing anything major, like killing a process, stop and count to ten. ...

February 15, 2022

Avoid Similar Variable Names

A common, problematic convention I see in Ruby tests are variable names like this: user_a = create(:user, last_log_in: today) user_b = create(:user, last_log_in: last_year) ...

February 14, 2022

Refining Your Terminal Aliases

Any command you type out manually, or even tab-complete a few times, can be shortened. A common shortening technique is the terminal alias. Here are some tips that help me write better aliases and cut my terminal keystrokes. ...

February 10, 2022

Ruby's Frozen String Comment: YAGNI

Open a production Ruby file, and you’ll often see this magic comment at the top. # frozen_string_literal: true Today I’d like to argue that most Ruby files do not need this comment. You aren’t going to need it. ...

February 9, 2022

Why I Don't Point Agile Bug Tickets

When I create Agile bug tickets, I leave the story points blank. Why? Two reasons: pointing bugs creates the wrong incentives, and bugs are hard to estimate. ...

February 7, 2022

Weekly Summary Technique

“What did you do this week?” I’ve written a weekly summary for myself and my teams for years. In this post, I’ll explain how I use this tool. ...

February 4, 2022

Opt Into Beta

Here’s a technique I’ve used on launches: instead of a big scary waterfall, or, in tandem with a phased release, let customers opt into a new feature. ...

February 2, 2022

Don’t miss my next essay

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