I just ate a nice pizza at my hotel room in Barcelona. The funny thing is (at least, to a Dutch guy that is): they wouldn't be able to give me a pizza before 20:00h. At that time in my home country we have long forgotten our desserts, cleaned the dishes and are starting to think about sleeping (just kidding). Anyway, I got the pizza, it was good and now I'm here to write a little report on the things that happened during the last three days.
It all started a couple of months ago when rising Symfony community star Marc Morera (who, by the way, is going to do the Symfony Walk in a couple of weeks) asked me to come to Barcelona and do some consultancy for the company that is working hard on a new Symfony e-commerce product called Elcodi. They were in the process of making some decisions on package architecture and bundle design issues and they asked me to help them with it. Of course I said "yes"! And here we are.
Now you need to know that Elcodi is part of a commercial enterprise. However, the Elcodi team creates open source e-commerce software. A very interesting, and also challenging thing to do. While this premise is already quite fascinating, Elcodi takes some extra steps to really make a difference in the world of companies that open-source their software. Elcodi values its contributors very much and has actually made a great effort to organise a community day for several intimate contributors and developer-friends.
As you might have guessed by now: I was part of the community day too and was asked to do a workshop for the attendees. The funny thing is, I only prepared a talk on package design and I had some material from a previous High Quality Bundles workshop.
To me personally it was quite hard to actually not have a schedule for the day, but in the end, everything worked out very well and we just followed the natural flow of the conversations, the questions that people had in mind and the subjects upon which the Elcodi team and the other attendees were trying to decide.
To finish this story: the night before the Elcodi Community Day I was also asked to do my "The Naked Bundle" talk for the Symfony Barcelona Usergroup. It was just very surprising to see that the event was about to take place right in something called the Grizzly Bar (see the photo on the right).
It turned out to be a very cosy place and lots of people showed up. At this night, I was talking about decoupling your code from the framework code and letting go of its conventions. So you can imagine that it was a big surprise that the organisers had also invited Javier Eguiluz to do his talk on the Symfony Best Practices during the same night. At the same time, this was the best thing the organisers could have done!
It was very nice to finally meet Javier in person. He is a very important Symfony community member and also co-author of the new Symfony Best Practices book. Talking about the best practices and watching Javier's presentation finally made some important things very clear to me:
- As I had already previously concluded: the official Symfony Best Practices are to be considered an opinion, just as mine and yours. However, they are intended to be constructive and helpful for developers who start using Symfony. They shouldn't be bothered at first to make all those difficult decisions, driven by discussions about code design.
- Looking at the Symfony Best Practices from this perspective really makes them quite good.
Of course, there are some things in the document that I wouldn't recommend, but nevertheless: in a few weeks I'm going to train a group of developers who are starting to work with Symfony and I'm definitely going to resort to the Best Practices to teach them the quick way to get started. Of course, It wouldn't be me if I would not also give them a sneak peek of the road that lies ahead and the numerous options you have to write better code (or at least, "better imho").
So in conclusion I can tell you, this was a very interesting experience. To me this was not only about doing talks and giving advice, it was also about learning about other perspectives, and understanding other people's reasons to do things that I would have personally deemed quite strange.
One last note, if you ever get the chance to meet one of the wonderful people from the Elcodi team, be it Marc Morera, Aldo Chiecchia or Berny Cantos, be sure to talk with them, and probably go out for breakfast, lunch or dinner with them - I promise that you will have a great time.