All Articles

Impostor Syndrome and Outliers

What does a classic business book have to say about developers and impostor syndrome? My wife and I listened to the first half of Malcolm Gladwell’s Outlier’s on Audible today on a road trip. The book studies successful individuals and the factors that make them successful. One of the factors […]

From Software Engineer to Paralytic and Back Again

This is a bit of a different post, but I wanted to share my experience with a rare neurological condition known as Guillain Barre Syndrome (GBS) in case it might be helpful to anyone. Specifically, I want to focus on my long road to recovery, transitioning out of the workforce […]

Refactoring C# Unit Tests

Unit tests are often treated like second class citizens and not given the same level of polish and refactoring as our production code. As a result, they can wind up brittle, unclear, and hard to maintain. In this article, I’m going to show you a few tricks to keep your […]

From Dev to Manager

Want it or dread it, sometimes as developers we move from individual contributor to a team lead or management type of role. This is a drastic shift in skills needed and one frequently done without official training. How do we improve our chances of success when others are on the […]

Snapshot Testing in JavaScript & .NET

Earlier this year I discovered the fantastic Jest JavaScript unit testing library made by Facebook and commonly associated with React. Jest is built on top of Jasmine, but adds some very nice features, including something called Snapshot testing. While unit tests are typically intended to be precision surgical tools focused […]

Pay down Tech Debt Plank by Plank

A year ago I learned of the thought experiment “The Ship of Theseus” and, particularly, how it might apply to software development. In a nutshell, the Ship of Theseus refers to an old wooden sailing ship sailed by Theseus. Over the course of its voyage, every piece of the ship […]

Code Review and Your Team

Let’s say you’re on a small software development team — either within a department or in a smaller organization. You may or may not be doing code reviews, and you may or may not think they’re important (hint: they are). As a software engineer and software engineering manager, I think that code […]