On more than one occasion, I’ve found myself assigned to a project before clearly-defined development tasks were ready. Despite that, I’ve discovered several worthwhile things I can make progress on. 1. Basic Project Skeleton Even when my workflows are all ambiguous, I often have a good idea of what my tech stack will be. The […]
Lately, I’ve been trying to learn and use Vim keybindings whenever possible. I don’t have any hard stats to prove that my productivity has increased, but I feel like I spend less time bumbling around editors and more time putting the cursor where I want it. Vim is a great tool in my professional tool belt. […]
Yesterday, I explained the different ways that errors can be represented in your code. Today I’ll talk about error handling, which is what makes errors such a tricky subject to begin with. Why is error handling so difficult? There are typically many more ways for a system or operation to fail than to succeed. Error […]
Yesterday, I talked about the many types of errors in software and how you can categorize them strategically. Now let’s talk about how you can capture and represent errors in a useful way.
Errors are under-appreciated. I discovered that on a greenfield project when it occurred to me that I had essentially no tools in my developer utility belt for architecting them.
Recently, I started to customize my Git configuration to fit my workflow. I’ve found a few configurations that should be the default for anyone who installs Git: git config --global pull.rebase true git config --global fetch.prune true git config --global diff.colorMoved zebra I’ve had these in place for the past few months, and I’d encourage […]
A while ago, I started using the Insomnia REST Client for exploratory API testing. I was initially drawn in by its clean UI and ease of use. I keep using it thanks to three features that allow my team to be more productive when messing around with new APIs. Exportable Workspaces One great feature of […]
My latest project uses a framework that I wasn’t familiar with at the start of the engagement. It’s not the first time this has happened, but in the past, I’ve always had teammates as tour guides — at least one person on the team had worked in the codebase or with the language before I […]
I just saw a great Twitter thread by Phil Lord, one of the writers of The Lego Movie and Spider-Man: Into the Spider-Verse. I’ve written before about parallels between software and TV/movie production, and the analogy continues to be relevant. There are a few lessons from Phil that can definitely apply to software. 1. No […]
I always feel a tension between the idea of building more foundation code upfront and waiting until it’s needed. If we spend all our time building framework and foundation, then we’ll never get around to actually building the product. But of course, if we plow ahead without planning, we can end up with an unmaintainable […]