WEB Advent 2009 / World of PHPCraft

Dear Santa,

I’ve been a bad girl this year. I haven’t fixed bugs in my extensions. I’ve barely worked on PHP 6. I only attended a handful of conferences. And, my blogging’s been pretty gay. (I can make that joke; you can’t.) I can explain, though. I was working. Who am I kidding? I was saving orphans from a burning building, barefoot, in the snow, over broken glass. No, that’s overselling it. Fine, I got sucked into World of Warcraft (WoW).

Can I still have my Red Ryder BB gun? I promise not to shoot my eye out.

The world

Forgive my comparison, but I’ve noticed something while wandering around Azeroth and watching the guild: Programming — with PHP especially — is a little like a MMORPG.

I’m sure to suffer the slings and arrows of this outrageous analogy, but hear me out. How good is your code when you’re just starting out and reading the PHP.net tutorial for the first time? It’s crap. You’re a newb, a level 1 paladin with a wooden sword and a fear of bunnies. I hope I don’t belabor the metaphor, because it’ll get tiring fast, but each new programming challenge is a quest to gain experience points and develop your character (career).

Some of us level up slowly, slaying the placid demons of personal web sites while studying walkthroughs to see the pitfalls before they show up. Others charge straight into level 40 enterprise instances, finding themselves respawning in the graveyard of performance bottlenecks, security vulnerabilities, and empty mana potions. All of us learn, albeit at different rates and with different battle scars to show for it.

The ones who advance the quickest are the ones who learn from the more experienced, helpful players (developers) around them. There’s an unexpected non-competitive spirit in WoW1 which, I think, mirrors the PHP community. IRC channels on Freenode, EFnet, and nearly every other major network are a testament to the nature of PHP developers to want to help each other out. The massive amounts of effort continuously poured into the online manual — which is second to none — prove this isn’t just a half-hearted chat phenomenon.

The guild

At the center of this collection of aspiring artisans are the level 80s, DPS mages like Rasmus Lerdorf, Zeev Suraski, Andi Gutmans, Wez Furlong, Andrei Zmievski, and many others who’ve brought us some of PHP’s most useful features. These aren’t the only heroes, though. Other include Jani Taskinen (sniper), who’s been standing on the front lines of triage for as long as I can remember, the many healers who desperately try to keep PHP internals drama to a minimum, and the documentation folks — who I can’t find an analogy for — are part of the rich tapestry that makes the World of PHP so enrapturing. Personally, I always fancied myself a warlock — dark, arcane magicks and all that.

Characters enter this circle and leave it. Some just feed off of the generosity of those who contribute, and that’s okay. Some toss one contribution in and walk away. Some would like to lend their abilities, but are worried that they’ll just get in the way or won’t be able to keep up. It’s this last group that I want to reach out to, because there’s room in the PHP guild for all levels. Yeah, you might make some mistakes, but you’ll gain experience, and that’s what leveling up is all about.

Become a mage
Subversion contains everything you need to know to get started with the PHP source code. There are articles on DevZone to give you a solid introduction to extension writing and maintenance, and follow-ups like the technical rants that I sometimes post on my blog — check out the right column, under favorites. If you’ve got a few bucks burning a hole in your pocket, you can tolerate my shameless plug and buy what I don’t mind saying is the best damn book on PHP internals, period. (Don’t worry, I don’t really see much of that revenue.)
Document
Especially if you know a language other than English. PHP’s manual is second to none, but only because of the tireless work of the manual maintainers who sort out PHP’s inconsistent argument lists and aimless naming conventions. Updating the manual is quick, easy, and will get you an @php.net email address. How can you lose?
Contribute to PEAR or PECL
You probably already have some code that you’re proud of; why not show off? An afternoon of cleaning up some indentation and creating a package2.xml file, and you’re suddenly an open source developer. How do you suppose that’ll look on your resumé?
Maintain a blog
You don’t even need to do anything official. Heck, I’ve basically been AFK for the past couple of years, and here I am, calling for new guild mates. If that’s the only contribution I offer this year, then I’ve still done my part. That’s how easy it is.

So how about it? Come quest with us.

Footnotes

  1. If you’ve never heard of the Corrupted Blood incident, I highly recommend reading about it. It’s an amazing piece of sociology in motion. In particular, I’m referring to the volunteer healers who tried to stem the unintentional plague, although, sadly, there are plague spreaders in the PHP community as well. Return to footnote 1 source.

Other posts