Drupalcon Munich day three keynote review.
Keynote review by Nathan Lisgo
Experiment, Create & Share
Fabien Potencier @fabpot
We learnt of the experiences and principles that have steered Fabien to become the developer and contributor that he is today. Although technology and our access to it has progressed so much since Fabien sat in front of his first personal computer in 1984, in so many ways there are more barriers today than there were for him to have a good experience in programming. When you switched on the Amstrad CPC 664 (with a built-in floppy disk drive and a colour monitor!) by default you were presented with a commandline (http://www.cpcbox.com). You were able to start programming straight away. The people of his generation have had a unique experience because they have witnessed computers and the web pass through it’s incremental phases. “Now when you buy a machine getting ready to code is not that easy. How can we make the learning process easy and fun again.”
It is going to be difficult to put concise points here because this session was really a chance to re-evaluate why I got into programming in the first place. How can I enjoy it more, how can I discover more and learn something new everyday. He was constantly referring to the need to view the roles of web contributors as a passion rather than a job. For those who view it as a job they will be limited and their contribution will not be adequate to make any real impact. We have a lot of potential, we have the power to make things easy or complicated.
Fabien never considered becoming a programmer as a job, for him it was about, “having fun, trying to solve a problem, learning new things, being able to make the machine do stuff. As a hobby, not as a job.”
He encouraged us to use a VCS in reaction to a recent survey which suggested that 40% of Drupal developers did not use one. This obviously needs to be rectified. (http://git-scm.com/)
Fabien also recommended some bed time reading. He thought that it was about time that we read the http specification document (http://tools.ietf.org/wg/httpbis/)
He also highlighted the need to extend our horizons. Maybe “drink a little less, read more books and read more code”. One of the flagship components of the Symfony library is the Dependency Injection component. Fabien learned about this concept while reading a book entitled, “Spring in action” that he spotted while browsing in a second hand book store on a visit to the US. There is now some form of Dependency Injection in every new release of major PHP frameworks including Drupal 8.
Fabien encouraged us to “try new things, stupid things. Do reinvent the wheel, just to see how it works. But don’t use this in production.” An example of this is writing some code within the character limit of a tweet (http://twittee.org). I took part in my first google code jam this year and found it hugely rewarding (http://code.google.com/codejam/).
The adoption of Symfony components in Drupal core is significant
My main takeaway is not something that was mentioned in the keynote but it’s an impression that I got. The adoption of Symfony components in Drupal core is significant and it represents more than just sliding across some code. Of course, it means that we have more developers and users exposed to our code giving more opportunities to identify vulnerabilities and to fix them.
The Drupal community can congratulate itself for being open to this adoption but the Symfony community and Fabien particularly should be congratulated. They have written their components so well that they can be easily adopted into other PHP frameworks. Their code will similarly be exposed to many more people and challenges.
This is a wave that we should ride a lot further though. Rasmus Ledorf in his keynote at Drupalcon Copenhagen 2010 was asked why Drupal should continue to use PHP and his response surprised us. He said that we should become language agnostic and that we should enable people to contribute modules from different languages. I’m not suggesting we do that, PHP is adequate for now, but it is in the same spirit of what Rasmus said that Symfony have developed components that are framework agnostic. Can we say the same, are there opportunities for us to contribute beyond the borders of Drupal? Could some consideration be made in some of our contributions to identify elements that could be contributed to the PHP community or the web community? Can we become not only adopters of good code from communities other than Drupal but providers to them?
On a Symfony note...
Fabien suggested that his tutorial series “Create your own framework…on top of the Symfony2 Components” was a good way to get an introduction to Symfony. I have followed this series and it is excellent (http://fabien.potencier.org/article/50/create-your-own-framework-on-top-...).