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

All My Best Tips For Expertly Reviewing Your Own Code

Great developers review their own code often and effectively. In this post, I’ll share a checklist of all my best tips for maximizing this important practice. ...

November 12, 2022 · 5 min · Jake Worth

Buy the Best Hardware You Can

Some advice I offer people entering the programming profession is to buy the best hardware you can. You’re going to need it. ...

October 25, 2022 · 2 min · Jake Worth

Print Last Exit Code

The exit code of a command in a Unix-based system is an important and easy-to-miss piece of data. It isn’t printed to standard out; you have to go looking for it. I find it useful to inspect this information when debugging or considering chaining unfamiliar commands. ...

October 21, 2022 · 1 min · Jake Worth

Default to Programming Convention

Trying to enforce unconventional coding preferences on a team is an uphill battle. When in doubt, default to convention. ...

October 14, 2022 · 2 min · Jake Worth

How to Introduce New Ideas

How do you introduce new ways of working? We want to bring a new idea to our engineering teams, such as a new command-line configuration, testing tool, or design pattern. But engineers can be discerning and stubborn customers. The idea needs to stand on its own. And, you have to sell it. ...

September 8, 2022 · 3 min · Jake Worth

Prefer Real Data For Software Development

When testing with data, I prefer realistic data rather than random data. ...

August 18, 2022 · 3 min · Jake Worth

Better Than 'foo'

There’s almost always a better variable name or value than ‘foo’. It’s useful as a debugging placeholder, but it almost never belongs in production code, even and especially in automated tests. ...

July 13, 2022 · 4 min · Jake Worth

Desire Paths in Software

We’ve all seen a desire path. They are footpaths created by erosion from human and animal traffic that communicate a wish for a path that doesn’t exist. When you walk on a paved path toward a destination and notice a shortcut in the earth, that’s a desire path. It’s the way people go, rather than the way we would wish them to go. ...

June 5, 2022 · 2 min · Jake Worth

Spend More Time Thinking Hard

Ben Kuhn’s ‘Think Real Hard’ shares a problem-solving checklist from the scientist Richard Feynman: Write down the problem. Think real hard. Write down the solution. On its face, this advice is ridiculous. If only we just sat and thought about the problem, we’d win a Nobel Prize like Dr. Feynman! ...

June 1, 2022 · 3 min · Jake Worth