I am really still not satisifed to move on with this blog, so I would like to take a few minutes to review and restate the point I am trying to make.
Code is extremely powerful, and having the ability to create it is extremely useful. There are lots of places on the internet which call code the "new literacy", and I thorougly agree. The ability to use machines to explore thoughts that would be otherwise impossible is just amazing.
The thing is, programming is still a really young field. There is a ton that we still don't understand about it. We like to talk about best practices, but we really don't know what programming will look like one hundred years from now. We don't have any idea if these best practices hold any general truth. There is a lot to learn.
The difference between test driven development and regular run-and-pray development is striking. To me, the various pieces that go into test driven development seemed like they would be really useful elsewhere. For example, streamlining the creating, setting up, and tearing down of environments with specific properties seems extremely useful in different situations, not just in code testing.
The point is: writing code beyond what gets shipped as part of a product has extreme benefits. One aspect of this is test driven development, but this extends to installation scripts, deployment scripts, and process scripts.
Phew, and now I think I am ready to move on to some actual useful instances of these things. Stay tuned.