I did a recent interview that talked a bit about the upcoming Drupal O'Reilly book (code-named the "Lullabook"), how I got my start in the Drupal community, and how I went about surmounting the Drupal learning curve.
The short version is that, in my opinion, getting involved in the community is, hands down, the fastest way to ratchet up your Drupal knowledge. It was the only way I was able to make the leap from "total newbie" (who hadn't even installed Drupal at the time) to "contributing my first module" in 2 very short months (I started out my Drupal career as a Google Summer of Code student back in 2005).
It was a lot of fun to reflect back on my first couple months in the Drupal community, which included some of the following highlights. *cue the flashback wipe*
webchick gets roasted to a crisp ;)
My first five minutes in the Drupal community went something like this:
This experience actually was a really positive one, once I got over the sheer, unadulterated terror. ;) It taught me a lot about the culture of open source communities, particularly in IRC. Reading up on things like How To Ask Questions The Smart Way helped show me that these weren't a bunch of mean, evil people, but rather that what I'd just done was the equivalent of barging into a stranger's house unannounced, leaning back in a chair with my bare feet on their kitchen table, and belching the national anthem.
By changing my strategy, and instead lurking for a good while, reading the conversation as it went past, and chiming in when I had something appropriate to say, I ended up getting flamed a lot less, and also started to make some friends, including the individual who had roasted me previously. :) I also discovered that purely social conversation in #drupal was fine, it just needed to come in openings when people were talkiing about video games or whatever, rather than when people were trying to fervently hash out the next huge API challenge that Drupal was facing.
This experience also has made me a lot more tolerant of newbies who slip up and do things like ask support questions in #drupal, as I always try and picture that behind their screen name is a potential contributor who just needs a little patience and direction in order to launch them on their illustrious career of super core patch tester, or module developer extraordinare, or what have you.
drupal.org goes "bye bye"
About two days before the Summer of Code mid-terms, when we were all in a blind panic to get our interim code submitted so we could get paid, drupal.org went down.
Panic gave way to awe when over $10,000 in donations were given in less than 48 hours, as embodied by this ad:
It was then that I knew I'd found a community I could call home; so many awesome, generous people in one place really warmed my heart.
This experience also gave me the opportunity to contribute my first handbook page, as I had to scramble to figure out in a hurry how to get a local mirror of api.drupal.org, and figured since I never wanted to figure that out again, I would write it up and share it with any other interested parties. :)
Making the leap to core
Summer of Code had me working in my own little CVS repository in my own little module project and my own little issue queue. Nice and safe. Drupal core was of course the area where those elite, genius-level core developers played, and thus it was hands-off for a newbie like me... or so I thought.
This perception is extremely funny to me now, because on "this" side of the core contributor fence, you see first-hand how totally, inconceivably bad some of the first few attempts at these great, world-changing patches are. I'm talking security hole-laden, fatal error-generating, oops-accidentally-deleting-all-the-data-in-your-database kind of bad. It's sort of a rite of passage among core developers to have some big mistake (like your database credentials in settings.php, or a huge parse error, or what have you) that was overlooked in your patch get committed to core and become part of the development version of Drupal for a little while. ;) Most of the big core patches go through dozens of revisions before they're finally committed. Not one of us gets this stuff right the first time.
The cool thing about core development (and this is true of open source in general, actually) is that it's not about who's the best coder with the biggest brain who's been doing this since they were in diapers and is more fluent in 1s and 0s than English. It's more about what happens when a bunch of people put their heads together on a problem, each with their own experiences and expertise, and come up with the best solution possible. And these contributions can be anything from "I've worked a lot with odd-ball databases and I know this query can be done more efficiently," to "I know English well and can spot a spelling/grammar error from fifty miles away," to "I'm new at Drupal and I know what new users will find confusing, and this is it! How about if we did it this way instead?," to "I have Windows and can test this in IE." Seriously. Anyone can contribute to core development, and when more people do, Drupal becomes a better product for all of us.
I owe huge thanks particularly to Steven Wittens and Károly Négyesi who both played pivotal roles in helping me to overcome that "you must be Eintstein" misconception, and invested a great deal of patience and energy in helping me get my feet wet. With their help, I went on to roll my first core patch and now, what can I say? I'm hooked. ;) Thanks, guys. :)
Et vous?
How about yourselves? What experiences helped define your initial foray into Drupal? How did you help get yourselves over the learning curve/how are you currently attempting to do it?
Comments
The second panel monster
Looking at your comic, I see a very striking resemblance in that creature to chx.... Disclaimer: Hate-mail goes to Angie.
LOL
No, not chx. ;) Didn't you read the rest of the post where I said that he was one of the people who encouraged me the most to get into core development? Sheesh, people. ;)
Any resemblance to chx or any other specific Drupaller is due to my crappy drawing skills. :D
same here
Its funny, I had the same experience. Before I even applied to the SoC program this year I started to test a few patches, and even made one, for the event module. That helped me a lot to get into the community, learn a bit more how this collaboration thing is done. Then I had some ideas for which I needed to do some module development (this was the autonode cck widget), which was before my coding period. This way I learned about CVS, project hosting on drupal.org, and how a module looks like. I must say these things and my mentors help were the main reasons I was able to work so fast and effectively.
Luckily I had webchick as supervisor/organizor of the Drupal SoC program, so I did not encounter any scary IRC monsters, got only a friendly kick after being too stubborn in asking a question (hence the "#jquery is over there, not here" part in the irc room description :)).
Its a bit weird now after the SoC though, it was such an exciting ride, and now everything stopped. Its like everything paused for a while, I guess mainly because during the summer I was looked after, now I need to search for possibilities. I wonder if this is could be the reason why the new (to drupal) students dont really integrate into the community after the program.
chx != Monster
Just for clarification, chx has absolutely no resemblance to the monster found in the above comic. Once I got to know him a bit more, and had the privilege of meeting him at the Boston DrupalCon, I realized that he's just a gentle teddy bear. He's an amazing and brilliant person and I don't know what we'd do without him.
Webchickenator
You know, now whenever you change your IRC nick to webchickenator, I'm going to be seeing that second panel in my head... :)
Thank you for all the encouragement you pipe into the Drupal Community. It's a constant source of inspiration, and has been a personal boost to me on occasion.
You rock.
mlsamuelson
Experiences of late
My start into the world of #drupal was the same Angie, and to this day I do more lurking then participation in the #drupal* channels. What helped me more then anything was actually meeting other developers in real life and seeing how human they really are. A Lullabot conference in January, working with some of you at Sony, and most recently having someone (Robert Douglass) take interest in one of my modules has helped the most. I was a bit worried NOT having people around everyday to learn from, right there beside me, but just by having a module on d.o and actually working with someone in the issue queue has opened up even ANOTHER door and given me more experience and confidence to start delving into not only other people's modules with bug fixes, but core as well. I'm still aspiring to do some core patching... time is quite limited when you take on too much on the side as I have... but the experience of watching someone go through your module and seeing the process of them submitting patches and such is a great learning experience in itself. So I have to say thanks here to Robert Douglass, but you were one of the biggest inspirations and mentors over the last year for me as well, Angie. So thanks.
I'm still in "I suck" mode
I really appreciated reading this, because I'm currently hesitant to dip my toes into the Drupal development community. Although my perspective and history are different, some of the barriers (real or imagined) to entry seem the same. I'm not a fresh face out of school, in fact that was back when pre-OOP Pascal was pretty much the standard.
I tend to think very procedurally and I'm painfully aware that my code isn't up to peer-review standards. I've been such an independent developer of my own systems for so long and mostly self-taught at that. I've had strong priorities on making things work rather than making them pretty, so playing well with others in a coding sense is something I need to relearn. In essence, I've been a coding hermit I guess, but perhaps ready to come out of my cave.
The Drupal community seems a good start, especially when I read things like this.
Not Yet
Not tried Drupal yet but I like the comic strip...
I don´t tried too. but you´r
I don´t tried too. but you´r wright the comic is great
It was then that I knew I'd
It was then that I knew I'd found a community I could call home; so many awesome, generous people in one place really warmed my heart.links of london
nice catoon
nice catoon