If we assume our goal as the Alt.Net community is to improve software development as a whole, we’re doing a pretty bad job. Not that many people have even heard of the concepts we espouse, and those that have but didn’t convert become hostile to our ideas.
My theory is because we focus so much on things that at the surface seem extraordinarily complex. Our terminology while correct, is acryonym laden and hard to grasp the real meaning. We ourselves sometimes lose site of why we even care about some of those principles, why we enacted them in the first place and what pain they caused to begin with.
I’m not the first person to say or think this, but this has really hit home with me lately since now I get to talk to developers who are brilliant, talented and overall effective at what they do but who consider XP+SOLID a bunch of “enterprise junk” that fights against “natural coding” and my personal favorite “Unit testing is just testing your tests” .
I’ve tried to talk to people in a reasonable way when I hear things like this, but usually before I know it, the alphabet soup of acronyms is out of my mouth, BDD, DDD, on and on. Even as a hungry student those terms shut my brain down when I first heard them, so why would I expect someone who feels they know what goes into software development to have a different reaction?
Since my goal is to do my small humble part to improve software development as a whole I’m going to try something new. If someone feels pain in the development process, then I’ll speak up with a solution and focus my language on the solution only. Because really thats what all these ideas and concepts are, solutions to big pain points.
The terms we use to describe them are unfortunately for the already intiated. Inversion Of Control, did any of you understand that without looking at code examples first? Behavior Driven Development, how many of you thought you knew what that was, practiced it, then realized that it means something else. Just spouting off a bunch of acryonyms only excites the already curious who just have to know what they mean and for better or for worse they do not make up the bulk of the software development community.
As for blogging thats a tough break, I use blogging as part envangelism, part bouncing ideas off my peers and superiors. For the later I do need to actually use our alphabet soup to communicate, but for evangelism I’m afraid I contribute to turning off devs who are only googling for a solution.