Since I started working, a common thing I have heard from agile coaches, senior developers, or consultants is the importance of practicing test-driven development (TDD). At my previous company, TDD was a far-off land. A utopia that if we just focused and adhered to its principles, we’d receive ease of development, safe refactoring, and engineering bliss to which every other XP practice paled in comparison.

I never got there.

At DICK’s Sporting Goods, the teams on which I’ve worked have practiced TDD religiously. It is no longer some fairyland, make-believe place. It’s our natural state of working. It’s as common…


The way we write code has changed over the years. In the 10+ years I’ve been writing code, I’ve followed different practices to “speed up development” or make code “more manageable” or “more readable”. It seems we as software engineers are always looking for ways to make our lives easier. We have to work in the code we write everyday, so why wouldn’t we want to make it easier, less frustrating, and less error-prone?

My style of writing code has been molded over the last couple of years. It’s based on domain driven design (DDD), with some shortcuts. It’s not…

Darin Heavilin

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store