I’ve been coding for decades, given talks at conferences (some can be found on my YouTube channel), training and coaching development teams for the past 4 years as a freelancer, and, for the last 2 years, I’ve been coding live in front of an audience on Twitch, so I’ve got opinions about coding and software development, and I’m not afraid to voice them. However, I haven’t been all that great at writing them down, mostly because I have such a wide set of interests and it’s been hard to focus on a coherent subset.
I’ve finally found that subset when I developed my recent training course titled “Make Your Code More Testable”1. Last year, in the midst of the pandemic, I was incredibly lucky to be asked to create a “best practices” course and, as much as I dislike the term “best practices” (as context is so important for defining “best”), I feel pretty good about saying that making code more testable is a desirable goal for most folks. I took everything I knew, experienced, and learned throughout my career, and stuffed it into a 4-day course. Since all training was remote, I wasn’t asked to teach it as 4 full days, but 4 half-days over two separate weeks.
As of this writing, I’ve taught the course to over 300 developers and I’ve learned a lot about the questions that come up. I’ve also expanded the code smells that we look for, as well remixing and refining the refactorings that I use in “deodorizing” those code smells. And, of course, Test-Driven Development is in there, with my “predictive” process. It’s been a lot of fun to teach, and I wanted to share these techniques outside of my class (and to satisfy past participants who’ve been nagging me to write them down).
So, you can expect newsletters on all the things I talk about when making code more testable. While I’ll focus on Java and Object-Oriented Programming, past class participants have told me it’s useful in other languages, from C# (no surprise there), to Python (also an OO language), and to a lesser extent to JavaScript and TypeScript developers (I’d love to get more experience in applying these to TypeScript).
I hope you find it useful and I’m happy to answer questions via email, or on Twitter.
You can find out when the next class is being given by going to https://mycmt.dev.