A year ago I’ve heard about this “special” conference called Socrates. People were talking positively about it: “Socrates is cool”, “we learnt a lot of things”, and “be prepared to be surprised”. So I was quite motivated and may be a bit excited when I got the reservation, especially knowing that there were only few places available. Now after I’ve done it, I can say that it’s really a rewarding experience.
Socrates is an “OpenSpace” conference also called “unconference”. The main idea is to gather passionate developers to share their passion and learn “freely” from each other’s. The freedom part of the concept is important. In fact I was surprised to see that avoiding over-organizing an event gives more freedom to participants. They are the one who suggest and choose topics, and they are also the one who discuss it. Organizers are just facilitators who help things go well. This is quite different form traditional conferences where everything is planned out before: topics, sessions, with one or few speakers presenting their ideas in front of an audience and may be - at most- two or three people will speak to them. With Open Space there is no official speaker; all participants are free to share their knowledge, experience, ideas, and doubts, and thus learn from each other. Personally I initially went to Socrates to see nowadays tendency in IT from developers’ point of view and topics in which they are currently interested.
There was a variety of topics: programming paradigm (especially FP), development/design concepts and practices (TDD & DDD), technical tips, Craftsmanship, teaching…etc. Here is a brief resume of my favorite ones.
Discussions about functional programming
As developers we leant that coding in a language that helps apply some paradigm with a background on another language more convenient to some other paradigm produces buggy, complicated and brittle code. I’m talking here about the step from procedural to OO programming. I believe that before getting deep through F#, Clojure or Haskell, it’s important to understand the functional paradigm and to know why and when use this paradigm over another. At Socrates there were different levels of talks about this subject: an introduction to FP philosophy by @Lilobase, a hands-on-lab kata in “functional” languages, and advanced discussions between experienced developers. The other good news is that it is still possible to use concepts from FP to help us with problems in “non-FP” languages by: using immutability, avoiding loops, separating business functional domain from mutable areas (DB, inputs)…etc.
Discussions about DDD
There were few interesting discussions, talks and labs about DDD, its practices, patterns and anti-patterns. In fact, the flexibility of Socrates planning and the craft attitude of @KhaledSouf (one of the participants) gave us, as participants, the opportunity to walk gradually through a lot of aspects from an introduction to the concept, to real world examples and code treating. Besides, easy-speak between participants creates interesting discussions around DDD (or any other subject by the way), and shows different points-of-view.
Some participants proposed tips that could help developers on their daily work. @AmelieCornelis, for instance, gave a nice workshop about using shortcuts on IDE. And @Cyriux explained monoids with cups of beer. Personally I had rewarding discussions with amazing guys about Craftsmanship, our careers, our discipline…etc. For me it’s one of the aspects that make Socrates different from traditional conferences.
Finally, this unconference was a great experience of sharing not only ideas but also lunches, laughs and even trolls…somehow like an extended coffee break 🙂