I'm a bit of a perfectionist. When I create something, I want it to be not only good, but great. I can't accept substandard quality. I have standards after all and to accept mediocrity is to begin down a path which leads to enervation and death... or something like that. Having spent most of my … Continue reading Always Be Shipping
My Last Post was Wrong – Rethinking Testing
In my previous post about how to unit test, I decided to share some recent findings that made me rethink my approach to unit testing. Unfortunately, I didn't give myself the time to fully explore them and with about five minutes on Google, it became apparent that I had been caught up in an anti-pattern. … Continue reading My Last Post was Wrong – Rethinking Testing
How Do We Test This – Unit Testing
For this post, I'd like to change things up a bit and talk specifics - in this case, unit testing. Many guides on unit testing tend to include code samples that I find overly simplistic, so I'd like to provide something that's a bit closer to what we might actually encounter in the wild. Let's … Continue reading How Do We Test This – Unit Testing
Definition of Done – Why it matters
One of the great difficulties in software development is measuring progress on individual stories. It's often difficult to provide an answer when asked how long something will take. Part of the difficulty is because software development does not have a linear path to completion; certain tasks may be more or less difficult than we expected … Continue reading Definition of Done – Why it matters
Atomic Habits
Over the last year, I've had the great fortune of working from home. While the situation has afforded me the ability to do many things I wouldn't otherwise have been able to do, it was also a major shakeup to my habits. Now, as restrictions have largely been lifted and life has returned to at … Continue reading Atomic Habits
The Meeting After the Meeting
My work with Sallie Mae required the company's 300+ developers to come together every quarter to a planning meeting for the next three months. It was a two-day-long event that involved a lot of time spent waiting around for other teams and often times the work planned on the first day would be completely changed … Continue reading The Meeting After the Meeting
Microservices – The Racecar Architecture
Microservices is the new hotness. Or maybe it's the old hotness. Either way, it's still a concept that comes up quite frequently, so naturally it's something on which I have a strong opinion. And like many other aspects of software, I can summarize my opinion as, "good idea being overused to solve problems it wasn't … Continue reading Microservices – The Racecar Architecture
Software Is Not Always the Answer
As a follow-up to my previous post, I had initially planned to go into more depth about my thoughts on Agile, but the result was much more an explanation of my personal approach to software development, so this post is going to be about that approach to establish a foundation from which I can build … Continue reading Software Is Not Always the Answer
Agile is dead, long live Agile!
Over the course of my career, I have had the pleasure of working on a variety of teams in a number of companies, which has given me the opportunity to experience how things are done in a multitude of environments. Each company and team has their own unique culture, but with enough experience, patterns tend … Continue reading Agile is dead, long live Agile!