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

How to Find a Programming Mentor

I have collected a group of mentors over the years. I call on them frequently to talk through tough problems. I think I’m better at my job because of this regular, impartial outside feedback. I’d wish this for everyone! In this post, I’ll try to reverse-engineer the path I took to get here. ...

January 31, 2022

Use a Dev Email

An engineering technique I recommend: when you sign up for any service, even on a side project that’s just getting off the ground, create an email group called dev@<your-domain.com> that forwards to you and any other technologists, and use that email to sign up. ...

January 29, 2022

How to Answer Questions on Stack Overflow

I enjoy answering questions on Stack Overflow.com. It helps me learn about common challenges and practice reviewing code. In the beginning, it also unlocked basic site features like voting.1 Maybe you’d like to answer questions too! In this post, I’ll explain how I answer questions on Stack Overflow. ...

January 27, 2022

Want Better Automated Tests? Hard-Code Your Expectations

Hard-coded test expectations have many benefits that I’ll explore in this post. ...

January 25, 2022