Last week I attended and spoke at the PHPBenelux conference for the first time. What's unique about this conference is that it's entirely run by the local Benelux PHP Users Group. While there was lots of PHP-specific content, it also had a good mix of community and general concept talks too.
I gave one session over the weekend called “Project Triage and Recovery” [slides available here] which was based on the simple premise:
You’ve experienced it. You’re handed a project with two hundred thousand lines of complicated undocumented code and a looming deadline. Where do you begin? How do you get familiar with the code? Finding and eliminating bugs is a good start, but how can you collect unbiased metrics on the system? How do you know when the system is “good enough” for launch? In this session we’ll use the rebirth of dotProject as web2project to demonstrate five key concepts that will help you measure, track, and triage your project from concept to the brink of failure to launch.
With the exception of a technical problem with the projector – which was 100% my fault – it turned out well, sparked some good discussion, and got a few people thinking. It meshed well with Elizabeth Naramore's talk from the previous day titled “Technical Debt“. I was happy to hear how many people were familiar with or at least had heard of web2project. John Mertic of SugarCRM even updated his “Making Software Management tools work for you” presentation to include web2project.
My single biggest concern about speaking at a conference in another country where I don't even speak the language was getting around. From the airport, should I take a train or a cab or…? Luckily, the Benelux guys set everything up in advance. Stefan Koopmanschap, Michelangelo van Dam, Thijs Feryn, and the rest of the PHP Benelux team took care of it. They made regular trips to the Brussels airport to pick up speakers, drove us to the hotel, and got us checked in. My biggest concern.. poof.. gone.
The PHPBenelux team as a whole was great awesome fantastic. They went out of their way making us feel welcome, introducing us to great food like fries* (not the same as French fries), and Joopie. As a speaker gift, they arranged something that only they could give.. a selection of six local Belgian beers and a box of Belgian chocolates. A couple even went above and beyond by arranging post-conference trips to visit the castle town of Brugge and Waterloo where Napolean was defeated**. They were gracious hosts in every way.
The technical and community content was great. I caught a small flock of new topics and presenters and a few regulars. It's caused me to rethink and update a number of things in my own projects already.
The community is one of my favorite parts. I've interacted with a few European PHPers before this, but this one was a whole new experience. Not surprisingly, we all hit the same technical problems, the same job annoyances, and use many of the same projects. The only difference was cultural context.. which led to the other fun part:
Everyone spoke English but not the same form of English.
There was probably 80% overlap with most people but the idioms were completely different and sometimes just didn't make sense outside of the original language. It was fun and educational.
* Yes, they put mayonaise on those fries. They drown 'em in that… stuff.
** It turns out that becoming Emperor of France requires more than wearing a silly hat at Waterloo. There's all kinds of paperwork too.
I'm used to an audience that will comment, ask questions, and occasionally even “aggressively disagree” if the presenter is wrong enough. In the first session on Friday, the room was silent except for the presenters and my occasional question. An audience that didn't participate was just odd. There were a couple other sessions like that. After chatting with a couple other speakers, I found it was a very cultural thing. Americans and Brits just speak up but people from mainland Europe sit quietly and hold their questions to the end. Luckily, my session on Saturday seemed to attract all the Americans and many Brits, so it was more interactive.
The Microsoft Azure keynote the first evening was… lacking. Almost without fail, they hit us with marketing demos or sales pitches. For a technical audience, it's a bad match. For an Open Source community, it's a terrible match. They need to stop telling and selling and start showing. Michelangelo's portion of the presentation did that but I think the audience was already lost. If I had a hand in it, I'd say:
- We think this is cool/powerful
- Here's why it's cool/powerful
- Let me show you to do the cool stuff
- Here's how to use it with – not instead of – your current infrastructure
Show me why something is useful and better instead of just saying it.
Disclosure: Although I've worked with Microsoft in the past in both giving feedback and writing code, I don't have a hand in Azure and have yet to play with it beyond reading a few specifications.
Honestly, I don't have anything else to be critical about.. The wifi stayed up, the food was good, the drinks were flowing, the drink prices were reasonable, the speakers were solid, the topics were good, the venue was great, the coffee was good, the people were friendly, and they pushed Joind.in for speaker feedback..
Most conferences suffer from at least one of those problems. This one didn't. Bravo.
Overall, PHP Benelux 2011 was fantastic. I look forward to submitting next year. Hopefully, the jetlag will be a little easier the second time around.