Recently I was on a project with no Unit Tests, no Continuous Integration Server, not even a Build. I was asked to deploy the application to a server so that the client could begin using it. (No, we had had no User Acceptance testing either formal or informal, but that's neither here nor there...)
I tweeted what I thought was a rhetorical question: "I am deploying an application by pulling the source code, compiling it on my laptop, and copying the DLLs to the server. What's wrong with this picture?" I received the following response to my tweet: "Depends on who you ask.... 99% of the software world says 'nothing'."
I laughed, then stopped when I realized how NOT funny that response was. Because I realized that it's true.
Certainly the developers who attend developer events on their own time and dime, work evenings and weekends on open source projects, talks, and writing, and engage in frequent and lively discussions on software quality and the "art and science of software development", these developers would quickly agree that practices such as Unit Testing and Continuous Integration are basic foundations of a good software practice.
But what about the other 99% of developers? How do we reach them? These are the developers in small and large shops striving to become better, but are not "plugged in" to the developer community. In many cases these developers are not even aware that such a community exists. They are insulated by their companies, isolated by their ignorance of the power of the developer community. I know. At one time I was one of these developers.
What happened to me? I was fortunate enough to meet some very active developers who invited me to my first code camp, then encouraged me to stretch myself and start contributing, blogging, engaging.
How can we reach into these ivory towers and spread the word? Because I know there are many developers hungry for these kinds of ideas. I have worked with many of them.