You get it out of the box and plug it in. You gauge or seize its complexity — for a little while. Then you open the owner’s manual and read.
What sort of owner’s manual comes with the Content Management System Drupal for the developer or the advanced “user” ? A few “core developers” (as we call those who work on Drupal’s code) are now in the process of writing such owner’s manual. The book will be published sometime in April. If I may be so blunt, quite a few core developers (not the two authors of the book though, as far as I can tell) are arrogant assholes. What’s more, they (these “quite a few”) keep other developers new to Drupal at arm’s length and hold “users” (lusers) in disdain. Not too long ago I would have certainly bought the book had it been published already. But it’s too late now, I’ll wait till I can get my hands on it for free. It’s too late now because I suffered and learnt, and now I know my stuff. I was guided by a few incredibly gifted and sweet non-core developers, guys who can both program and relate to other human beings.
“Drupal is one of the most popular content management systems in use today”, says the back cover of the yet-to-be-released book. “With it, you can create a variety of community-driven sites, including blogs, forums, wiki-style sites, and much more. Authors [...] delve into Drupal internals, showing you how to truly take advantage of its powerful architecture. You’ll learn how to create your own modules, develop your own themes, and produce your own filters. You’ll learn the inner workings of each key part of Drupal, including user management, sessions, the node system, caching, and the various APIs available to you. [...] Simply put, if you are working with Drupal at all, then you need this book.” Ironically, the gig here is probably right on. The documentation on drupal.org lacks a cohesive quality, is not well-organized, the head of documentation is abrasive, but what’s worst : the documentation is seriously lacking in explaining the internals of Drupal, as if it was a secret to keep, a lingo to be understood only by the elect. “Drupal architecture and behavior are mapped out visually”, says the back cover. “Chapters provide regular discussion and reference to why things work the way they do, not just how”. Well, well, couldn’t we find this in Drupal’s documentation as well ?
My experience with learning Drupal brought back some memories.
I’d like to talk about the culture I came from — back in the days where I was a practicing engineer. Let me describe that culture to you, as it was when I was hired : whatever “we” (hired engineers) had went through ourselves when we had just started in the company, new engineers had to go through as well. It wasn’t written anywhere, but such was the rule. Such was the culture when I came on board anyway.
I suffered : you’ll suffer. No one helped me : I won’t help you.
Pain was something of value. Straining was synonymous with learning. Actually it was believed that you’re not learning unless you’re bumping your head against a 100 roadblocks and overcoming them on your own. Anything else was seen as “hand holding”. C’était le baptême du feu. This was typical of my department but it was different elsewhere. Because elsewhere habits had changed or the culture had always been different. I suppose that because employees did not good through bad experiences when they themselves just started, they just didn’t think that newbies had to have a hard time. I was helpful. I remember the time when I conducted interviews to hire a new engineer. With that new employee, and thanks mostly to that new employee, the culture experienced a shift in my department.
Strong people get help and give it. Strong people can relate to other people’s frustrations, they put people first in their lives and their projects second, and they don’t abide by the archaic belief that rites of passage should be part of their professional life and that of others. But I’ve got it all wrong probably : it’s not a matter of being strong or not, it may only have to do with conditioning.
Someone asked in the Drupal’s forums, after searching and searching for an answer on his own : “Does someone have an answer to my basic and perhaps absurdly simple question or is it an ‘initiation rite of passage’ ?” Another person said : “You must hate Drupal before you can love it.” I hear them, it really is like that, but does it need to be like that ? I don’t think so. I think some guy nailed it in explaining why certain people value pain in learning : the experience of learning something difficult pretty much left on your own is “both rewarding and incredibly frustrating”. It’s that mix of pleasure with pain that some love.