php|tek 2011 Closing Remarks

A few weeks ago at php|tek, I was lucky enough to deliver the Closing Remarks. Well.. it was less “lucky” and more of a “wait.. you haven’t done anything this week, make yourself useful.” So after a week of sessions, midnight hackathons, midnight unconference, tornados, power outages, a red carpet entrance, a family reunion, I got the final word.. Of course, this recap is not verbatim. I did the original presentation from a basic outline and have since had a few weeks to ponder it.

Disclosure: I have been one of the organizers of php|tek for the past three years and hope to continue it into the future.

For years now, php|tek has been billed as “the community conference.” We don’t have an exhibit hall. We pride ourselves on not setting the speakers or sponsors apart very much. There’s no speaker lounge or speaker-only event organized by us. Along those lines, one of the themes is always “get involved, here’s how!” but along with getting involved, we have five responsibilities that I see…

First, you have to Show Up. Everyone at tek already did that. They stepped out of their cubes or offices and actually did something. Of course, there are other ways to get involved beyond attending a conference. Almost every semi-major metro area in North America has at least one PHP or Web Developer or MySQL or Open Source group. Most have monthly meetings, some have mailing lists or forums, but all have professional peers that you should get familiar with. If none of those work, we have IRC channels like #phpc or #web2project on Freenode where you can get involved.

Next, you have to Listen and Learn. No matter who you are or what your background is, you have something to learn. Conference-wise, we have events like php|tek (every May in Chicago), ZendCon (every fall in Silicon Valley), but many groups – like Zend, php|architect, Acquia, etc – offer webcasts too. In most cases, they’re free and all you have to do is sign up. It feels nice and safe starting in the PHP community, but there are numerous opportunities like BarCamps, Hackathons, and user groups outside the PHP community where you might learn.

Sometimes the best way to spark new ideas is to look at something you think you know from a completely different perspective. If you look at phpUnit, you’ll see Sebastian was heavily inspired by the jUnit community. There’s nothing wrong with that.. we should learn from others’ mistakes and research.

Next, you have to Join Up. At php|tek we have a Hackathon where 15+ projects had team members there to help you get started. Some projects had a couple commits. Some just got some exposure. Others had entire teams of new contributors.. but there was one tweet that made my night. It was simple but incredibly powerful:

Neveo

(When I read Neveo’s tweet during my remarks, I asked him to stand up and asked everyone to give him a round of applause. He deserved it. Rafael Dohms was the guy who got him started on PHPT tests, so he got a big thanks too.)

He noted that “it was only one small test” and “it only took 15 minutes” but considering how very few people in the room had ever written a test and how few people were in the room compared to how many PHP developers are out there, it already puts him in the top 1% of the community.

Further, after the presentation, he came to me and noted again that it was “one small test.” My response was: “how many PHP installs are out there? 100 million? 200 million? Multiply that ‘one small test’ by 200 million and you get a very large number.” He seemed a little shocked at the implications. Now my only hope is that he doesn’t stop.. so I challenged him to have 25+ tests ready for tek next year.

Next, you have to Teach and Mentor. When you get home from a conference, go back to your company or your user group and present “Three interesting things I learned” and talk for 15 minutes. Everyone – especially at more senior levels – should be able to speak to their people for 15 minutes on something interesting. In fact, many times it will be hard to limit oneself to 15 minutes.

And this leads to a problem that I’ve hit repeatedly recently. A number of people have asked me for good junior developer candidates.. but there’s a problem with that. Once a “junior” developer plugs into the community and shows up, listens & learns, and gets involved in any way, they don’t stay a “junior” developer for long. They learn from their mistakes. They find sharp people in the community and find the books, blogs, articles, podcasts, tools, videos, magazines, events, etc, etc that push them further. I’ve seen a Junior developer becomes a serious mid-level developer in under six months.

Finally, don’t be an Ass. Elizabeth Naramore mentioned this in her keynote the year before and Jason Austin caught it in his post:

I forget the exact quote, but the basic concept was that all this technology crap will eventually change and go away, but the friendships you make because of it will last for a lifetime.  It’s the people that matter, not the technology.

We have to remember that there are people on the other end of the code and projects we’re using. It’s funny how other languages pick on PHP for being a “toy” or “messy” or “not for serious developers” or “to make PHP better, someone should rewrite it” - and I’ve heard those criticisms this week - and it ticks us off. Sure, there has been lots of messy PHP in the past, but in the last 5+ years, the world has changed. Our frameworks iterate faster and incorporate ideas more quickly than just about any other language out there. We cherry pick the best ideas and let the bad ones die. And since PHP is running half the web (45-55% depending on how you count it), we must be doing something right.

But on the flipside, we turn around kick projects like Drupal and WordPress with the exact same criticisms. In fact, I heard “to make X better, someone should rewrite it.” Let’s be blunt for second. There are 45 million WordPress installations out there including CNN, the New York Times, major portions of the US Federal Government, and LOLCats (seriously). There are an (estimated) 8-12 million Drupal installs out there including WhiteHouse.gov, The Economist, the BBC, and NBC Universal. They must be doing something right.

PHPers… I’ll give you a tip. Those projects aren’t going away. In fact, if you track the progression and availability of PHP in the past 10 years and compare it with the growth of those (and other) projects, they track pretty closely. If we dismiss these projects and continue to treat them like crap when they show up in the community, these growing discussions of a php fork are going to become true.

And if that happens, the hosting companies will follow and it will be bad for us.

Special thanks go to Andrew Nacin of WordPress and David Strauss of Drupal. Both of them have braved the PHP community beast and participated in discussions, debates, and critical thought that I hope both sides can learn from.

And a few times they’ve had to deal with comments that reflect my last point..

Are you interested in API Design? Check out our new book "A Pragmatic Approach to API Design." In it, we cover the basics on why you might need an API, how to get started on modeling your API, and finally some design patterns and anti-patterns to be aware of. Available soon from LeanPub