Month: September 2009

The Beginner Pattern

You were there once, remember? You were the cautious explorer, venturing out into an unknown language with little idea what it might hold in store. You learned functions, found tutorials to help you take your first steps and maybe even reached out to other developers to help you along the way. You were a beginner – everyone has to start somewhere, after all – and every little bit helped.

So, it worries me when I see things like this talking about a move of the PHP community away from those introductory topics that we all came to know and love as we moved forward into our PHP development careers. Samuel doesn’t think it’s the PHP community’s fault, not by far. He does suggest, though, that we’re “forcing newcomers to our community to build their PHP homes from attic to basement” by not pointing out or writing up as many tutorials and articles targeting the introductory developers.

In the spirit of trying to bring PHP back to the masses, I’m going to suggest a “design pattern” of sorts that the PHP community can help to bring even more people into the language and help them really find the heart of the language and what it’s all about:

  • Learn – The first step in the pattern is to learn about the task you’re trying to accomplish. Obviously you can’t teach others if you don’t know about it first. Find out the best way to do it – the tips and tricks if you can – and remember them. They’ll come in handy in the next piece of the pattern.
  • Write – You don’t have to be the Hemingway of PHP to write a tutorial. This piece has an obvious fit with the first step of the process. Take what you’ve learned and write it up into something anyone can follow. Just posting a list of commands and code isn’t enough – sorry. Write it so that someone who doesn’t know anything about the topic can pick it up and run with it. Plain english (or whatever your native language is) is best…technical terms are good when they’re needed, but don’t try to use them to make yourself look important by using too many multisylabic words in too many places con only lead to trouble. And remember, tutorials don’t have to be about anything fancy. Find out something cool about an everyday PHP function? Write it up! Trust me, no one will think anything about an “advanced developer” writing about a cool thing they figured out about str_replace.
  • Share – Obviously, a good tutorial or article isn’t any good unless people know about it. Sharing is an integral part of this pattern. If you don’t let others know, you might as well not write it. You never know when someone might need a little nugget of the wisdom you’re sharing, so broadcast it out there. Don’t be ashamed to bring it to the masses in the forums or post about it on your blog. There’s nothing wrong with a little self-promotion if you can help out some developer in need with exactly what he needs.
  • Learn – Wait, this again? That’s right, the pattern loops back on itself in an endless cycle. Once you learn a new skill, write about it and share that knowledge with at least one other person, you’re back where you started. You’re moving forward in your development and coming across new challenges each day. So, guess what? Write about them! Share it! You get the idea…

The pattern is simple Learn then Write then Share. Learning is handled by one object (you) and then writes to a local resource (your brain, duh) and the resources are exported into external data sources for other objects to use. Simple, right?

So, go out there, learn something new, write a tutorial about it and share it with the masses. Idling in your development on a project? Think about the things you’ve learned so far and share those.

Remember, there’s new developers starting every day – help them out and share the tips and tricks you have stored in that head of yours. They’ll thank you for it.

Photo from pagedooley Creative Commons Attribution License