The Case Against "Try This" Debugging
I recently wrote about a debugging technique that I recommend: making a prediction. The idea is that before trying an experiment during a debugging session, we should stop and verbalize what we think is about to happen. I received a response that could be paraphrased as: “Isn’t that just debugging?” If only.
The Joy of JavaScript Absolute Imports
Absolute imports are an essential feature for me in any JavaScript application. In this post, I’ll explain what they are and why they’re great.
My Daily Programming Routine
After a decade of programming full-time, I’ve developed a daily work routine that I’d like to share. I hope to revisit it and share it with people who are starting out in the industry or are curious about a programmer’s workday.
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!
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.
Does ChatGPT Mean Software Engineering Is Over?
Here’s an argument that’s gaining momentum in my field: AI will eliminate or greatly reduce the programming profession.
One-Sentence Summaries of Popular Technology Books
Here are some one-sentence summaries of books that have helped me understand programming and technology.
How to Run an Agile Retrospective for Leaders
Retrospectives are one of my favorite engineering team practices. In this post, I’ll explain why and how I run retros.
Type Your TypeScript Library Functions
There’s been a lot of recent discussion in the TypeScript community about typing functions. These arguments tend to take binary positions: always type your functions, or never type them unless the compiler demands it. Which is the best option?
The Power of CRUD Operations Explained with SQL
CRUD is an acronym that’s used a lot in web and mobile development. Frontend engineers in particular might wonder what it means and why we use it. In this post, I’ll explain CRUD using PostgreSQL, and talk about why it’s important.