One of the most outstanding things I noticed upon visiting Germany was how friendly and courteous everyone was. I know that I may have been just seeing the best side of people because I was usually giving them my money, but it was prevalent amongst even those who were not selling me something. Sarcasm seemed mostly non-existent, as everyone tried to communicate clearly and mean what they say. Plenty of "bitte" and "danke" no matter where I went.
Speaking of kind people, Drupal's European community was nothing short of amazing. I met dozens of Drupal users, both new and old, hungry to further their knowledge in all things Drupal. With each conversation, I was re-affirmed that the core of Drupal’s success is it’s community.
As per typical DrupalCon format, each day of the conference was chock-full of talks ranging from beginner level to advanced. One of my favorite talks was Crell's discussion of Functional PHP. He began by reviewing the common development patterns, before diving in and focusing on "pure" functional development. He painted a clear picture of what it means to write a clean function that is easily re-usable, then went on to review anonymous functions for one-off operations such as arguments for array_map() and array_reduce(). This has now inspired me to reconsider how I handle array manipulations.
The start of each DrupalCon day begins with a keynote speaker. The first day’s keynote consisted of an interview with Dries. Josh Koenig of Pantheon quizzed him on several questions regarding the state of Drupal 8 development. Long story short, the Drupal community has its work cut out for it to reach the Drupal 8 feature freeze deadline of December 1, 2012. They'll need all the help they can get, and you, dear reader, can help! I'll discuss that more in the next section.
The final day's keynote was presented by Fabien Potencier, author of Symfony. In case you weren't familiar, Drupal 8 will be utilizing several of Symfony's core components to replace some of it's underlying functionality. The Symfony-driven changes will be invisible to site users, and, while there will be a good deal of OOP depth for those who need it, Drupal developers will still have many of the same hooks with which to enhance and extend their sites. Fabien chose not to discuss Drupal's integration of Symfony as there were several other talks already focusing on that, and instead chose to discuss what it means to be a passionate web developer. Some of the memorable quotes from his talk were “Being a web developer must not be your day job, but your passion.” and “Drink less beers, read more books, read more code.”
Another point of DrupalCon interest for myself was that this event marked my first since I've made core contribution a priority. As such, I have spent around a year working with several people, of whom I've never met, through both IRC and the issue queues. To my delight, I had the opportunity to meet several of them and they all were as personable as I had hoped. I'm so very proud to be part of such a wonderful community.
Prior to the event, I had offered some of my DrupalCon time as both a volunteer, and a core mentor for the core mentorship sprint. The volunteering was quite enjoyable as it mostly consisted of working the registration desk, helping people find their way and printing up lost or new badges. During the time I was able to accomplish my goal of meeting a lot of the community, as well as having plenty of time working on core issues. The core mentorship, however, was even more rewarding.
The day following DrupalCon conference is lovingly referred to as Sprint Day. Anyone who is interested in making Drupal and even more amazing product is welcome to spend the day combing through the issue queues and offering solutions to make those issues disappear. There's even a place for the new core contributors, which was where I spent the majority of the day. Lead by a small group of Drupal contributing mentors, we held a beginners class of sorts that taught the ins and outs of development environment setup, reviewing patches, and how to write your own patches. After everyone was set up, I spent the day meeting loads of new people and helping them work toward getting their name in Drupal's git log history.
In fact, one of the individuals I was working with (drupal.org username rasmusluckow) got to have his first patch committed to core live by Dries himself. Dries stood up in front of the crowd and explained the process he goes through when doing final evaluations for a patch. He then loaded rasmusluckow's issue on drupal.org, used curl to download his patch locally, applied the patch to his own local updated copy of Drupal 8, and committed it to a round of raucous applause. I could vicariously feel rasmusluckow's excitement, the same I felt myself upon my first patch. This is the excitement that brings us developers back — being part of something bigger than yourself, and making a difference.