Take the Big Project

Something I’ve learned as an engineer: when presented with the option of working on a big project, or doing anything else, take the big project. ...

September 6, 2023 · 3 min · Jake Worth

Thinking of Bugs in Classes

We spent the time writing tests, and yet, a bug survived. Should we just stop writing tests? No, but we should maybe write better tests, and think about them differently. ...

September 3, 2023 · 3 min · Jake Worth

Why Great PRs Are Great: Pull Requests Templates

Have you ever seen a pull request that seems to completely explain itself? It’s a real artifact. I don’t know the project, yet I understand it. How can we get results like this on every pull request, from every developer on the team, every time? ...

August 14, 2023 · 3 min · Jake Worth

Don't Ask for Advice; Ask for a Code Review

Here’s some advice about programming I’ve found useful: “Don’t ask for advice; ask for a code review.” In this post, I’d like to explore what I think this adage means. ...

August 9, 2023 · 2 min · Jake Worth

From Booleans to Strings in Frontend State

When it comes to controlling frontend presentation, developers often rely on booleans. However, this approach can be limiting. In this post, I’ll explore the drawbacks of using booleans and introduce a more versatile alternative: plain old strings with type safety. ...

August 4, 2023 · 5 min · Jake Worth

The Case Against "Try This" Debugging

In many group debugging sessions I’ve joined, a major technique being deployed is something I call “Try This” debugging. In this post, I’d like to talk about this anti-pattern, and consider a better way. ...

June 26, 2023 · 4 min · Jake Worth

Absolute Imports in TypeScript and React: A Practical Guide

Absolute imports are an essential developer experience feature for me in any JavaScript application. In this post, I’ll explain what they are, how to use them, and why they matter. ...

May 2, 2023 · 3 min · Jake Worth

My Daily Programming Routine as a Senior Software Engineer

Over the past decade, I’ve settled into a daily programming routine that helps me stay productive. It centers on code review, moving tickets forward, finishing in-progress work, and documenting what I learn. Here’s the exact workflow I use. ...

April 10, 2023 · 5 min · Jake Worth

Variable Name Antipatterns Named and Explained

There are only two hard things in Computer Science: cache invalidation and naming things. – Phil Karlton Let’s talk about variable name antipatterns! ...

April 3, 2023 · 5 min · Jake Worth

Cold Water for Your Code Coverage

Code coverage, the percentage of your code covered by automated tests, is a metric associated with quality. In this post, I’d like to investigate this association. And pour some cold water on it. ...

March 28, 2023 · 4 min · Jake Worth

Don’t miss my next essay

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