Community

It’s not a conference… (redux)

It’s interesting – sitting here writing a few emails, sending a few tweets – I was reminded of a me from not so long ago. He was the one that tried to convince you that conferences aren’t about the talks. He pointed out that the real key to conferences was the people you met there. I’d sort of forgotten him until just this morning, and I wanted to invite him back to the stage.

See, the key to it all is the people. Sure, you can talk about one confernece or another specifically, but then you’d lose sight of the one thing that binds them all together. Without the community attending these events, well, there’d be no event at all. It takes all kinds too. There’s the first-timer that’s not quite sure about everything and everyone, but recognizes names from blogs and the speaker list (hint: this was me). There’s the seasoned conference-goer that has been around the block a few times and knows how things really work and then there’s the tireless staff of the events that work sometimes all year long to pull these events off as flawlessly as they can. Each and every one of them has a place in this community but the key is – they’re all people just the same. Without that human connection between them, the community fails and falters and could just sputter and die like we’ve seen from other languages in the past.

Conferences with their talks and tutorials are great – don’t get me wrong. That’s what gets me to the event half the time. There’s several sessions that I’m looking forward to at this year’s tek and PHP Community Confernece (oh, how I wish i’d been accepted to DPC) but what I’m looking forward to the most is seeing my friends. IRC and email just doesn’t cut it. Sitting down with a group of people that get me and know me, either through the work I’ve done or just from talking online, is priceless. We bounce ideas off of each other, crack jokes about the downfalls of other languages (with names based on precious stones) and just generally have a good time.

There is no other place like it and my wish for you is that you pick one of the upcoming conferences and get out there. Sure, the talks are great, but being able to sit down with other developers that understand where you’re coming from and might know where you’re headed is something to treasure.

Oh! And don’t forget – if you can’t make it to a conference, there’s an excellent alternative….your local user group! There’s a whole group of people right in your backyard that have all of this and more.

Why Community Matters… (Updated)

It’s easy for us to look around at the technology we work with every day and think that we can solve all of the worlds problems with a few lines of elegant code. We think that just because we have a mastery of our language of choice, that we can conquer any challenge we might face. The only problem is that we’re forgetting one thing. No matter how much code you write or how much time you spend pouring over that shiny new architecture you’ve dreamed up, there’s one thing that can never be replaced – the human element.

Most of the developers I know have started off with a language the same way – they heard about it from a friend. They casually heard the name “PHP” dropped in a conversation and either (depending on how outgoing they are) jumped in to the conversation or made a dash home to look up what everyone else seemed to be talking about. Without this word of mouth, I dare say quite a bit of the technology that we have today wouldn’t be around. Think about it – how many times have you looked at a new language or bit of tech just because someone else you trust said it was cool. Sure, it might sound a little like siding with the popular kid, but what happens if that kid’s the one who’s right? That language may be the next big thing – if not for the online community as a whole, then just for you and your development.

Think back to when you first started programming PHP (that may be yesterday, that may be ten years ago) and think back to all of the influences you had along the way. Chances are you didn’t make it to where you are today without a little help. You found blog posts of others that solved the same problems, you hopped on IRC and talked with like-minded folks trying to overcome the same hurdles and you shared you own experiences for the future generations of web developers to learn from. You’ve come full circle, sharing what you know back with those who need it the most. You’re a contributing member of the community.

So, why am I writing this if it’s all so obvious to even the most casual observer? I wanted to reinforce the fact that, even if you’re new to the community or you’ve been writing PHP so long you dream about namespaces and PHP6, you can always be more involved. Technology is great, but really – people are better. I can’t recommend enough the effort that the PHP Community Conference is doing to bring this human aspect back into the conference scene. They’ve taken the traditional conference mentality, turned it on its side and put an extra helping of emphasis on the thoughts behind the technology and less on the syntax of the day-to-day. This approach provides an interesting perspective, different from the usual track-based methods (similar to the Brooklyn Beta event).

If you haven’t looked at the conference, time’s getting short – it’s happening about a month from now, April 21st and 22nd, in Nashville. I’ll be there as a speaker talking about my first PHP love – PHPDeveloper.org and doing what I can to give back as much to the community as possible. Because really, without each other to help us through, none of us would be where we are today.

UPDATE: I want to take a second to apologize for any poor choice of wording I’ve used in this post. My intent wasn’t to make conferences like php|tek or ZendCon seem less in comparison to the PHP Community Conference. It was more of a commentary on the different conference styles – the “why” PHPComCon offers rather than the “how” sessions that several of the others provide. The ironic thing is that I’m also in the process of planning my own conference and it follows the track-based ideas. It’s a difficult process and I have a growing respect for people like Keith Casey, Marco Tabini, Cal Evans and the scores of other folks behind the scenes of these excellent events. They work their hardest to keep people from “feeling like a number” during their events, and – especially tek – keeping the community as a large focus. My hats are off to them for planning not only quality content during the day but fun, engaging activities during the evenings that bring community members together from all over the world to laugh, enjoy a few beers and shoot the breeze about all things PHP.

Ideas of March

In an effort to spotlight what is slowly becoming a lost art (blogging), some of us in the PHP community have banded together today to talk about the active sharing of ideas and opinions that come with blog entries. Twitter (or Identi.ca!) ain’t got nothing on it. One-hundred and forty characters is nice, but there’s something to be said for a well-written or well-researched blog post. I can’t tell you the number of times that I’ve searched for a problem, usually the obtuse one that only seems to come up once in a blue moon, and find the answer on someone’s blog.

If you’re among those in the high business world, you’ve heard the cheesy term “knowledge transfer”. Yes, I cringe too even just to say it, but it gets the idea across. Blogging is so much more than vanity posts talking about funny things someone’s dog did. Writing up a blog post is an opportunity to take a small part of what’s in your head and share it with the rest of the world. It gives you an outlet, either creative or technical, to bring your message to the masses. This is the real key. When you blog, it’s not just about you anymore. You’ve taken a part of you, a sliver of your experience finding and fixing that bug or researching that old technology to write an API for it, and shared it with the world in a single click of a button.

It’s been done all through history – the passing down of knowledge from one generation (of programmers?) to another – and there’s no reason to stop now. I hope you’ll join me in making March a true month of ideas. Slow down and take the time to write a blog post or two. It doesn’t have to be a work of art. It doesn’t even have to be very long – just a few sentences will do. Write about something you care about, some project you’re working on that you’re proud of or just about the general state of the PHP community. It’s your blog, you write what means the most to you.

“If you have knowledge, let others light their candle in it.” – Margaret Fuller

Speaking at Dallas TechFest 2010 – Building a Web Service API

Just a heads up for all of those in the Dallas/Ft. Worth area – there’s a great one-day event coming up this Friday (July 31st) blending PHP, .NET, Java, new media, Joomla and WordPress into one packed day of sessions – Dallas TechFest 2010 at the University of Texas at Dallas.

I’ll be giving a session called “Building a Web Service API” from 10:30 – 11:45am in the PHP track. Here’s a summary of the session:

When is a web application more than just a web application? Hook up an API and you’ll see! I’ll walk you through the basics of what an API is and the concepts behind it as well as key pieces of technology you can use to create both the client and server. There’s a focus on PHP but other languages and tools will be touched on as well.

There’s still time to register for the event – tickets can be purchased for an early bird price (ending today) of $50 or $60 at the door. You can see the full list of sessions here.

An Interesting TEKX Promotion…

Thinking about attending a PHP conference anytime soon and looking for an offer that you can’t refuse? Check out this interesting move from the MTA folks (the group that puts on the “tek” conferences each year) for attending the TEK-X conference in the spring. The regular ticket price after the Early Bird pricing time has passed checks in at $1,000 USD per ticket. For this low, low price you get full access to the conference – tutorials and sessions for the full time of the conference. What? You don’t think that’s a good deal? Well, good – because that’s not the deal I’m talking about.

If you’re one of those folks that don’t really care about what the schedule might eventually hold and just want to reserve your spot for the conference, check out this (quite frankly, amazing) deal from the MTAers for next year’s TEK-X conference – sign up before January 6th, before the schedule is announced, and you’ll be rewarded with a 35% discount. That’s a full attendance pass for the whole week for a fraction of the cost – $650 USD. If you were planning on attending the conference anyway, it’s a win win.

There’s only one catch – there’s only 50 of these passes up for grabs so you’ll have to get in quick if you want to snag one, you’ll need to sign up quick. It’s an interesting idea from a group that’s always been keenly aware the pulse in the PHP community. Personally, I think it’s an excellent idea and only reinforces the fact that they know their target audience…PHP community members that are out there to support the community, regardless of the event. It’s nice to see a company putting so much stock in the community itself and not just in the appeal of the discount (not that it’s a bad thing!)

Microsoft Web Dev Summit 2009

See my pics from the event here!

I had the opportunity this past week to go back up to Microsoft for the second year to attend the Microsoft Web Developers Summit. The event brings together a wide range of people related to web development in the PHP community. This year the group was made a bit more diverse because of the inclusion of a few members of some of three communities of PHP-driven applications: WordPress, Joomla and Drupal. It made for a nice mix and, really, for what I think was one of the more interesting parts of the event (but more on that later).

Over the three days we were there, presentations were given from groups all around the company including the Web Platform Installer folks, the IIS team, the SQL Server team and a pretty cool showing from the Bing group on their mapping offerings. Showing off the products seemed to, usually, be a secondary mission for most of the groups though. Out of the number of sessions crammed into each day, most of them were either the PHP community talking to Microsoft (in the form of free-form discussions) or the Microsofters sitting down and really talking with us and asking questions about what we were doing and how they can help us do it better.

In my opinion, these discussions were worth the cost of the whole conference alone. Last year’s conference seemed a bit more chaotic and less structured. There was a lot of miscommunication (it seemed) and several things that we, as a community, weren’t terribly interested in. This year was leaps and bounds over that in terms of both quality and planning. The sessions that weren’t the discussion times were mostly relevant and almost everyone that represented MS seemed to know at least a little bit about what was going on in the world of PHP (with the exception of the ASP.NET folks but really, they sort of have an excuse – they were very happy to get the answers to their questions, though).

Leaders make all the difference in events like this and we had some of the best – our own Cal Evans helped to keep things on task and get the conversation jump started when it needed it, Karri Dunn (the ringleader and organizer) did an excellent job of making sure things were moving along smoothly and that we were able to talk to other groups in the company too (even those not involved in the summit), Josh Holmes (evangelist extraordinate) who has really jumped into the PHP community feet-first and has become one of our key voices back to Microsoft in general and, last but not least, to the leadership within the PHP community – the represenatives from WordPress/Joomla/Drupal, the core developers, the user group leaders and general community members.

A major thank you to all of you (including those I haven’t mentioned that made the event a success) for taking the MS Web Dev Summit up to the next stage in its evolution. I love the direction the event is heading – don’t lose that momentum and don’t lose touch with the PHP community. Last year everyone took their planes home and there was some random communication between MS and us via emails/twitter/etc but most of the connection was dropped. This year there’s already an effort underway to keep those lines open and to make a real dialogue between the web-related groups of each side flow. This, in my opinion, is a real deal-maker. It’s one thing to have a company that brings you up to talk with them for a few days and that’s it. It’s a whole other thing to have one that’s really excited about what’s going on with you and your community and wants to engage you and get input on their next moves.
Web Platform Installer (WebPI). I seriously hope they consider some of the suggestions we gave them as to its future and what we thought could really make it more than it is without sacrificing the simplicity it already has.

Having Companies Involved in PHP (why not?)

After this year’s ZendCon, there’s a question that’s been sitting in the back of my mind, bugging me to come up with a good answer – what role should companies take in the developer community ecosystem? The problem with the question is simple, though, because no two user group situations are the same.

I’ve heard things from both ends of the spectrum on this one. Some groups prefer to keep the companies away from their groups and rely on the support of those that make it up (much like a lot of the general PHP community) and there’s others that swing far to the other side and want any and every company that could potentially help them out to come walk through their door. The tricky part comes up when you get into that gray area in the middle. Some groups want help when they need it, but don’t want a company coming in and using that same influence to change the course of the group or to try to leverage it for their own purposes (“sure, we’ll help you out with that if…”).

So, what I want to hear from all of you – where do you think companies fit in our corner of the world in the PHP community? There’s several large ones out there that can and do contribute and others that don’t…which is the right blend and, more importantly, what can we do to help the situation?

Outside the Bubble

So, given some of the comments from my previous post on conferences (and what they are/aren’t) I felt like I’d lost a bit of my “conference roots”. I’ve been to enough of them that my perception is, almost definitely, skewed in favor of the group of folks like me – the ones that seem to be making a career out of attending as many conferences as possible. We all know each other and we all have our own little bubble we float around in at most conferences. There’s comfort there, but there’s also one large problem – the bubble isn’t big enough.

Some of my advice from before pertained to those attending these conferences that might not be a part of this bubble. This includes the large number of attendees that are at a conference for the first time. Ever. They may or may not have even been to a local user group meeting before and this could be their first wide-spread exposure to the Wonderful World of PHP (and might be for a while after). So, fellow residents of the bubble – what can we do to help make these people feel welcome in our community and leave them with the feeling like they’re appreciated and that they can contribute back to PHP in their own way? Here’s a few suggestions:

  • First off, an easy one – you were a newb once too, remember? No one was just born into the PHP community, it was a matter of discovery. Maybe you were working with Java or just learning HTML and how to design web sites. It’s possible you might have even glanced at PHP before but pushed it away as one of those “languages that’s just a fad” but have come back around. You explored the language, poking around in all of its nooks and crannys to figure out the best of the best practices for you and your code. How would one do this, you might ask? Well, it’s simple really – experienced users, much like you are now, took the time to sit with them and talk them through a problem they’re having. Or they did something as simple as stand at the front of a room and talk for an hour on something that interested you enough to want to devour any knowledge you could. In short, generations of folks from inside “the bubble” were the ones that helped you become the developer you are. Don’t forget that and don’t forget to follow their lead. We can’t have strong leadership in the language or community without guidance from those more experienced. Without it, our community will surely die.
  • Next, an even easier one – sometimes, it’s not really about the code. Trust me on this one…when meeting people at conferences, it’s only maybe 30% about the actual code. Sitting in the conference rooms and learning about the technology is one thing, but walking around and shaking hands with people you’ve never met before fills out the rest. After the sessions are done, you’ll be surprised by the number of people that just want to sit around and shoot the breeze about what they’ve learned or another related bit of web technology. If you’re lucky enough to be a speaker and happen to overhear someone talking about something you know well, stop and listen. Offer advice where it fits and help them on the path to understanding some of the more difficult concepts. I remember being at my first conferences and seeing the speakers walking around and talking with each other and wondering if I’d be able to break in and ask one of them my own questions. Remember speakers, it’s not always about the other attendees coming up to you – keep your ears open and listen for places you can offer advice. There’s going to be a *lot* of people at ZendCon next week, so be sure to be ready to be what you’re there for – some of the most knowledgeable in your area. Be sure to share!
  • And finally – the comfort zone is the danger zone (I bet you’re humming “Highway to the Danger Zone” now, aren’t you?) Jokes aside, this is just a quick one…don’t let yourself pass up an opportunity to share what you know with someone else because it’d be a step outside the usual. Remember, we’re all a part of the same community and if there’s no sharing going on, bad things happen.

Most of this is common sense and just about every speaker I know does this at one time or another, but I just wanted to remind those “bubble people” to get out there and mingle with the crowds and spread that knowledge around a bit. What you might see as one small comment to a random developer from a group could be the key to the problem they’ve been working on for months.

It’s not a conference…

As I sit here and prepare my liver for the onslaught coming next week (ZendCon, of course), I can’t help but think about those folks that’ll be attending the conference. I’ve been trying to think back to the first time I went to a PHP conference (php|tropics represent) and how I felt walking about with the people I’d only knew by name from books, blogs and articles I’d read. I was actually sitting there learning from *the* Wez Furlong and was there with *the* Andrei Zmievski learning about PHP and it was amazing and thought provoking and I felt like I could write and do anything while I was there, surrounded by all these great minds.

Fast forward a few years to 2009 and you’ll find me still attending conferences and still enjoying getting to be around some of the big thinkers in the PHP community, but it’s just different. It’s not the talks or the evening events – those are all pretty much the same. No, I’ve definitely changed my expectations of conferences and I think it’s something that can easily happen to any attendee, speaker or not: you forget.

Yup, two simple words sums it up. You’ve been to one conference, maybe three and the sameness of it all starts to catch up with you. You follow some of the same patterns: you wake up, you drink enough coffee to make it through the first session, head to a few more, then lunch and on through the afternoon. Lather, rinse, repeat for the remaining days of the conferences. You can see how it’s easy to get in a rut and just coast your way through the conference absorbing what you can and drifting out the other side to an airplane that will take you back home.

Here’s another two words for you – speaker or not, conference attendee or organizer: wake up! As much as it pains me to say it (being a speaker and all), these events are *not* about the talks. Want me to repeat that? Conferences are *not* about the talks. I think Keith hit the nail on the head with some of his comments in a recent post talking about the “hallway track” and meeting people. Conference organizers will promote the sessions and the panels and talks they’ve managed to pull in with the big names, both in the PHP community and outside it. They want you to come and see these people and feel good that you sat in a room listening to the folks that took a chunk out of their conference budget. This makes them happy and they hope it makes you happy.

I can tell you one thing from my years of going to PHP conferences – if you listen to them, you’re missing out on the best part of the conference. See, the other benefit of having large events like this that companies can feel good about sending their employees to is…well…that it’s a large event with lots of people at it. That’s the key right there – the people. Enlightenment is fun, but sitting around having beers with the “internet famous” people you know from blogs and articles is so much more interesting. I’ll say it again just to be sure it sinks in – conferences are not about the sessions, they’re about the people.

So, what can you do to make sure you get the most out of your conference experience? I’m going to blatently steal some of these ideas from Keith but with a few of my own dropped in:

  • Sessions are interesting, but people are fun – there are a *ton* of sessions happening at ZendCon this year. So much so that I have no clue where I’ll end up. Chances are, you’ve picked out a schedule that interests you and are just waiting to know which room they’re in. Do me a favor – each day, pick one talk that you’re on the edge about (yeah, you know the one) and don’t go. Yup, that’s right – don’t go, hang out in the hall or commons area or something. If you’re hesitant to go, chances are you’d just sit there and check your email or chat on IRC most of the time anyway. Do yourself a favor and get out and meet people. This kind of thing only comes around every once and a while, so make the most of it!
  • Make connections – Keith recommends business cards because they’re easy, but I’d say take it a step beyond that. Really get to know people – it’s funny how a “camp” atmosphere can help people bond more quickly than usual. Take advantage of this time and really talk with people – go beyond the “hi, so what do you do?” kind of thing and find out who someone is, why they’re there and something interesting about them. Then exchange the cards…and IMs…and IRC nicks…etc. Get to know these developers! They’re your comrades-in-arms, after all!
  • After-hours For The Win – The conference will have events after each of the full days of talks, that’s pretty much a given with any sort of conference. It’s what happens after that is some of the real fun. No, you don’t have to go out and party until the break of dawn (though there’s sometimes that too). I’m always a little bit disappointed that more people don’t stick around to hang out after whatever evening events might be going on. They scatter to the four corners of the hotel, not to be seen again until the start of the next day’s sessions. If you’re one of those types, trust me – being out just a bit longer won’t kill you. Plus you get an *amazing* benefit from it…you get to see people, speakers and non-speakers, how they are “off the clock”. Once the day is done, no one has to report to the next talk or worry about what the conference organizers will think. They sit down, stretch out and shake down until they’re just them. *This* is when real conversations start. If it hadn’t been for this time of the day joind.in might not even exist. Come, relax and just enjoy being around people – it doesn’t matter if they’re speakers, core developers or rockstars.

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