What is the Code Crusade?
The Code Crusade is an evangelical movement in software development, focused on good programmers championing good software design. For too long have programmers as a whole been lax in our discipline, or inadvertently espoused poor practices to our juniors for the sake of expedience. These young coders then go about perpetuating these atrocities failing to realize the error of their ways. As our careers progress, time constraints, management, and even peers convince us that this is “just the way it is”, and slowly we find ourselves slipping into the simple bad habits we worked so hard to counter. Well no more! The Code Crusade has come. We are here to teach, support, and inspire you to pick up the banner.
Why is there a Code Crusade?
Frustration. I started the crusade after a discussion of programming styles with a friend. In trying to categorize programmers’ views on software, I grouped them into two basic categories crusaders and mercenaries (OK, I know, it’s not fair). Crusaders were all about doing things the right way, sometimes with nearly religious insistence. Mercenaries are all about getting it done and getting a paycheck, they seem to care little about code quality or at least maintainability as long as clients or business users don’t complain. Ok, so nobody actually falls completely into either category (isn’t that they way with all dichotomy’s), we have all been in both roles over our careers. I know I have written a lot of code, and I haven’t always been proud some of it, but I always try to do “the right thing” “when there’s time”. And, therein lies the rub, I am not proud of some of the software that I have written. Time constraints, outside forces, whatever excuse I can think of at the moment caused me to take a shortcut and I produced less than the best I could. Truth is, much of the time, it’s just an excuse. It wouldn’t have taken that much longer to refactor that method, or break out that class, but the quick and dirty hack was right there, and in a moment of weakness or wearyness I took a shortcut. This movement is about recognizing when we are taking those shortcuts, minimizing the occurrences and supporting each other in “doing it right”. It’s time to start producing more software we can be proud of, not hacks hidden deep in our code hoping it never breaks and no one ever sees it.
Why “Code Crusade”?
Because I think it’s fun, and because I think the analogy fits. Since it’s fun, I am more apt to keep it in the front of my mind. As an analogy, I think of this as something of a righteous fight for software quality. I want people to feel passionate, confident, and most of all proud of what they are creating, and know others out there feel the same way. Apathy is the death of good software, we need to support each other in the knowledge that good code is obtainable, and we need to awaken our “lost” brothers and sisters and help them see that they too can create good works simply by caring about a job well done. We should live (or at least work) our lives to be paragons of virtue, to write code that we can be proud of, and our juniors can look to us as good mentors to build solid works on!