PHP Community Conference 2011 -- Real People Building Real Things

I had the awesome opportunity to (assist with and) attend the 2011 PHP Community Conference in Nashville on April 21-22, 2011. I had been hoping to speak, but when I started with with Ben Ramsey at Moontoast, it became a lot easier to attend the conference while spending a few days meeting and working with my new colleagues. Being a good co-worker, I manned the registration table along with Jefferson McCree Jones and helped out as much as I could. Lucky for me I was on the same level as the tops being given "upstairs" and got to see a wide variety of outstanding talks. Add in the awesome post-talk activities and the great conversations I had with old friends and new ones, I cannot imagine a better time at a technical conference. I even had the fun experience of getting an apology for past behaviour from someone I would never have expected.

The theme of this conference seemed to be "share with us something you did", which is a great concept. I think you could also have called it "Real people building real things". Part of the reason you want to talk to people when you're at a conference is to find out what sort of stuff they have been working on. As cool as some technical talks are, they get boosted to another level if there is tangible evidence to back up what they are talking about. I just kept shaking my head at the "war stories" told to me about crazy situations. I don't think I will ever forget Brian Moon tell me about the time one of their humongous DB servers went down due to a faulty controller card, and keeping the site up by sending content to people via IM. Check out Brian's thoughts on PHP frameworks.

I go to conferences to LEARN THINGS. Sure, it's awesome to meet new people and keep renewing older friendships (my career management skills always take leaps and bounds every time I talk to Paul Jones but I feel like the day I stop learning stuff is the day I should get out of programming and consider a career change. Every talk, from Rasmus' keynote advising us to pay attention to the performance of our applications to Terry Chay's closing talk about how frameworks are becoming so commoditized that deployment environments like Orchestra are optimizing things to make deploying applications built with specific frameworks.

The PHP environment is such a weird one compared to other languages out there. Made for the web, optimized for rapid development, it is really like no other. The only parallel I see today is Javascript. Projects like Node.js are trying to make Javascript more viable outside of the cozy sandbox of the browser, but running PHP on the server outside the cozy sandbox of the web server usually isn't a good idea. Where is the ecosystem of performance-related tools like APC, XHProf and Memcached in the Ruby and Python worlds? Maybe I'm running in different circles, but I haven't see blog posts of people using tools to profile their Rails apps to look for bottlenecks and poorly-performing code. I'd be interested in seeing some of them, especially for Python and Django apps as I get further and further into my Django experiences.

Hate PHP all you want for it's ease of use (which irritates those developers who want to be snobs) and internal function parameter inconsistencies, but what cannot be denied is the focus of those developers towards the top of the community on performance-related issues. These days I think it is less and less possible to promote the idea that developer happiness counts for more than application performance, and I think that despite all the hate out there for it, PHP still is at the head of the pack in terms of how easy it is to create high-performance applications using lightweight frameworks and libraries. This is the concept that I kept hearing throughout the conference. Pay attention to the size of your code! Profile your application to find out where things are really slow! Consider all the tools in other languages available to you!

The web is where PHP started, and the web is where it will stay. I used to feel guilty when I started fooling around with Rails and more recently Python. Those tools have their place too, with awesome communities surrounding them. Again, it seems the focus for PHP is to add in tools that help you create the leanest, tightest, fastest web applications that you can. Sure, Facebook has created HipHop to turn PHP into C++ executables because they are facing issues that boggle the mind. Sure, frustrated programmers who had a hard time navigating the spaghetti tendencies of PHP and Java found Rails more to their liking, soothing their desire for hiding complexity behind the DSL of a great framework. Sure, I find calmness and zen in the whitespace-driven simplicity of Python and the ability of Django to let you quickly create a site backed with a powerful and easily-extended admin area.

That doesn't mean you can't find real people building real things using PHP. I'm one of those people, and you can be too.

(PS -- I was totally brain-dead for not mentioning the awesome job the folks at OpenEvent did in livecasting some of the talks at the event. I think there is a great need for high-quality recording of talks at conferences and I wish them luck going forwards convincing others that they should be an essential part of any future conferences)