The Power of One Test

A developer experience and quality control measure I take on programs I’m building, even small ones, is always to write at least one test. Here’s an example, from this blog: // cypress/e2e/index.cy.js it('shows the homepage', () => { cy.visit('/'); cy.get('article').should('have.length', 10); }); The test loads the homepage and confirms ten articles. The test framework, Cypress, is inconsequential– the point is the test. Should we write tests? What kind, and how many? It’s easy to overthink it; don’t. The difference between zero tests and one is massive. ...

August 20, 2026

Better Developer Experience With Friday Reboots

A developer experience practice I’ve recently picked up is routine Friday reboots of my workstation. I think this can make your workflow (and even perhaps your life as an engineer?) a little better. Does This Sound Like You? You haven’t rebooted your workstation in weeks, and may be proud of this fact. You’re maintaining legacy code. You find setting up these projects to be finicky. You have uncommitted changes that you have to remember to reapply to get the projects working. You resist reboots or create obstacles to them, like programs that won’t close without confirmation. Sound familiar? I used to wear the identity “I never reboot” as a badge of honor. And yet, I know that rebooting my computer has value. ...

March 11, 2026

Custom Ipsum for Real-World Testing

Pastures which are subject to overflow should be avoided. All lambs born in April or May should be drenched about August or September following, to be certain of ridding them of worms that may later cause their death. This is output from a tool I built called Veterinary Ipsum. It’s something I’ve created a few times: a Lorem Ipsum generator specific to my company’s business domain. What is Lorem Ipsum? Lorem Ipsum is placeholder text used to communicate the design of a document. If you’ve ever seen website copy like “Lorem ipsum dolor sit amet”, that’s Lorem Ipsum. ...

June 27, 2025

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? The answer is a pull request template. Templates give your team a format that’s detailed, discoverable, and predictable. In this post, I’ll share this technique and why it matters. ...

August 14, 2023

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. What Is An Absolute Import? It’s easier to think of an absolute import in contrast to a relative import, which looks like this: import { Page } from '../../views/pages/Page'; Translating this code into words: “Bring in the named export Page, which can be found ‘up’ two directories and then inside the views/pages directory.” ...

May 2, 2023

Autoformat Your Code

Auto-formatting code is good, and you should be doing it all the time. Why? It helps you write better code in real-time, preempt trivial discussions, and maybe even democratize programming. Better Code in Real-time First, writing better code in real-time: I’ll use the Prettier auto-formatter as an example. I have Prettier running everywhere, auto-formatting on write. This means that each time I write my file, which I do a lot, Prettier attempts to format my code. Neatening my work as I go along helps me think clearly and see refactoring opportunities. ...

March 10, 2022