When I build software, I mostly think about the problem I want to solve and the experience I want my users to have. This is to say: I tend to pay less attention to the nuts and bolts of writing great code.

Enter Gary Bernhardt’s excellent Destroy All Software Screencasts. For $9/month, I get a wealth of deep thinking about the art of software development, delivered in weekly bite-sized chunks.

A good example is DAS’s four-part series on testing untested software. Gary takes a rails app he’s never seen before and focuses on writing tests for a single controller method. In some sense, tests are dual to the code they’re testing. However, when testing in isolation, tests can often reveal structure and dependencies that aren’t readily apparent in the code itself. Gary uses the tests he writes to motivate a refactoring of the original controller; the series ends with both elegant and well-tested code.