Where is the craft in CMS?
I have been spending a lot of time working with some CMS systems recently. I won’t name names but it could be Drupal, WordPress, DNN, Joomla etc – doesn’t matter. I have been working with two different systems for two unrelated projects that happened to arrive around the same time.
I admit that I am lost. I am lost without TDD/BDD/Refactoring/ATDD – all of the things that have been my support system for years. I know that you need to put in the hours to learn these tools to get the best of them. I get that. I have been. But after hours of mouse clicks (for the love of god, how about some shortcuts) and bending my requirements to the tools’ wishes I have an overwhelming need to let off some steam.
The bad luck for you is that this is my first post on elegant code and you get to read it. Now don’t get me wrong, these products gave me a working site amazingly quickly (and therefore cheaply). They have a wide ecosystem of components, both free and paid that I have used to extend the features that my sites needed. I am in no way bashing these tools – this post is about me (aren’t they all?)
I feel like there is always the ‘one true way’. The way the tool wants me to do it. The way the paid module wants me to do it. Need another way? That’s gonna be a lot of work. Feel like re-writing what you just paid for? The ‘one true way’ makes me feel like I am driving a slot car. There is nowhere else to go. My sites will be like millions of others following the ‘one true way’. How do I delight my customer with that?
I miss the wind in my hair feeling that comes from driving on a real road, or skiing off piste. Letting the solution emerge from the requirements.
I feel that I must be missing something. How do I get this feeling back whilst working with these tools? Is there something stupid that I am not doing? Am I just a grumpy old so & so that needs to get with the times?
So I guess that’s why I really wrote this post. A plea for help.
My name is Rob and I am a code-aholic. I realize this and am seeking treatment.