Believe it or not, I never wanted to be a software developer. Although I was introduced to personal computers at a young age, I did not enjoy writing software. At the age of eleven, I wrote my first applications in BASIC. While many of my peers were excited to be able to draw pixels on the screen or interact with users via text prompts, I did not enjoy it one bit. If you ever had to write an application in BASIC, you may have felt the same way. My feelings regarding software development aside, I was able to leverage this early introduction into an advantage in the ensuing computer revolution. I held a number of technical jobs such as Network Administrator and Database Administrator and eventually, despite my best efforts to avoid it, I became a software developer. I used some soon to be dead and even some already dead programming languages. Just as before, I didn’t enjoy the experience and did everything possible to maneuver out of development and into another role.
My attitude towards software development change dramatically ten years ago. As a last resort, I took a PHP development job. To my great fortune, I worked with an amazing and talented group of developers that challenged me a pushed me to become a great developer. The path was not a simple, quick, or easy one. Beyond the concepts like Object Oriented Programming, I needed an understanding basic tools like version control, debugging, and testing. Like many others that are attracted to the low entry barrier of PHP, I was a noob hackers are trying to build applications with PHP. Without the prodding and guidance of those coworkers and many other individuals, I would never have become the developer I am today.
Regardless of our skill level when we began using PHP, all of us were helped along the way by numerous community members. We’ve found the answer to some great dilemma from a community resource like a community site, blog, podcast, tutorial, IRC chat room, user group, or mentor. We all rely on the same resources in one way or another to perform our day to day jobs and develop our skill set. Within the past few years, I have learned that the community we rely on isn’t some magical place that appears out of the ether to answer our questions and write blogs. It is a community of passionate developers putting their hearts and souls into helping us be better developers. It’s also a community you can join. Regardless of your experience or skill level, you have something to offer. There is no shortage of need for contributors to the PHP community. Here are a few helpful hints to help start you on your journey:
Everyone has a question at one time or another. There are enough questions out there that you are likely to find one to answer. There are a few different avenues for you to start answering developmer questions. Try and find one that feels comfortable for you.
PHP has a number of official mailing lists for developers to ask questions. This webpage has a list of them: http://php.net/mailing-lists.php. As with all mailing lists, you may need to adjust your settings to not be inundated with a barrage of email. If you are old school and prefer NNTP over email for lists, you’re in luck.There is a news server and site for that: news.php.net.
There is no official IRC channel for PHP. However, there are many channels dedicated to PHP. #php is the general PHP room to get started. There are also rooms dedicated to more specific topics. Here’s the official PHP Help page which touches on the topic: php.net/support.php#irc
Sites like Quora and Stack Overflow are filled with questions ranging from beginner to expert. Find a question you can answer and submit. It’s just that easy. Quora tends to be less critical of submissions from new submitters. If you aren’t prepared for random criticism of your answers, you may want to start with Quora to get started.
User groups are fantastic ways to meet fellow developers and learn about topics related to development. It’s also a fantastic way to help other developers. As a founder of a user group, I know that most organizers are open to any help you can offer. That is especially true for presentations. User group organizers are always looking for presenters. You may not feel qualified to present to a group. That’s just not the case. Being an expert isn’t even required. Give a presentation based on “Here’s what I learned trying to figure out ??? for the first time.” We all need to keep up on emerging frameworks, libraries, and methodologies. Presenting on what you found trying to use one of them is really helpful.
If you need help finding a user group in your community, there’s a website for that: php.ug. If you can’t find a user group in your community on the site, you may be able to find one on Meetup, a site that many user groups utilize. If there is no PHP group in your community, you may be able to find kindred spirits in other developer user groups. Starting a PHP user group in your own community is something else you may want to consider. There is a page with resources for anyone starting or running a user group here: wiki.php.net/usergroups.
Be A Mentor
Being a mentor is something anyone can do regardless of skill level. There is always someone more noob than you. Find a more junior developer at work and help them build their skills. Become involved in local or internet based mentor programs. Local schools and community groups are always looking for mentors in technical fields to help student and disadvantaged populations. There are also peer to peer mentoring platforms in the Internet where you can lend a hand. Each method has a different time commitment associated with it. Find one that fits into your schedule.
Make a Difference
The greatest advantage we have as PHP developers is our community. My experience is that the PHP community is welcoming, energetic, and whole lot of fun. Do yourself a favor and take the next step in your evolution as a software developer. Become a contributor! Make a difference!