A few weeks ago, I received from Ovidiu Matan the invitation to participate, from TSM, in I.T.A.K.E. I had been waiting for this event since autumn, ever since I had a conversation during IT Days with Alex Bolboaca about the "unconference" concept, which I found very interesting. I admit having been a little reserved, given the fact that a "Software craftsmanship" conference had been announced, a movement I do not really resonate with. However, in the program, there were also a few presentations regarding functional programming, and I was hoping to meet more people interested in this subject. Therefore, I didn't hesitate and I accepted immediately.
The location was very good: uptown, for the highbrows. The conference was carried out on several threads, which helped me to shirk from the topics I didn't find interesting. Of the "keynote speakers", I liked only Andrea Mocci, who had a presentation on visualizing the code and on the manner in which programmers work. James Lewis and Simon Brown only tackled generalities. To my disappointment, James Lewis spoke about microservices as if it were a new idea, without making any reference to systems such as Erlang, where similar architectures have been developed for over thirty years now and which a programmer writing microservices could get lots of wisdom from.
As for the rest of presentations, I almost exclusively took part in those of the "hardcore programming" area, but I didn't feel the trip was worth it. I repeat: I didn't take part in the other threads of the conference. The fact that several presentations were held in parallel was a disadvantage. I might have not chosen the best presentations, but I was not impressed. With few exceptions, the "oh, yeah!" moments kind of lacked - those moments when I might have remarked a new idea that the speaker conveyed. This doesn't mean I disregard the work of the presenters or that I don't appreciate their effort; it's just that I had expected a different level.
An exception was represented by the presentation called "Monoids. Monoids Everywhere!", by Cyrille Martraire, who spoke to us about the way in which, in real applications, we could take advantage of the composability offered by the monoids. He described the monoid in a few slides, as it is defined in the theory of categories and then he showed us how it is applied to real code, which most of us are struggling with. The topic was at the crossroads between DDD and functional programming. The level was introductory, with no great expectations from the audience. An interesting problem was raised: if we try to choose the models so that they are monoids, the result is more elegant, more composable and easier to use. More presentations of this type would be required in order to rid functional programming of the academic appearance it has in the present and to show us how we could benefit from its techniques in the situations encountered by "normal programmers".
The most interesting part of the event was, by far, the open space component. In both of the days, the second half was reserved for "open space". The recipe is quite simple:
• The existing space is divided in N areas of discussions.
• Time is divided into M periods of about 30 - 45 minutes.
• A chart is drawn, showing N * M, "the marketplace" which contains the areas and the time when they are free.
• The rules of the game are explained to the participants: anyone may join any discussion and they may leave a discussion whenever they want to.
• The chart is filled in with the suggested topics.
• Each of those who have come up with suggestions makes an introduction by which to attract participants in the respective discussion.
• Start.
Within 15 minutes, two thirds of the 42 slots available for both afternoons were filled up. The rest was filled up later. The chart was full of colourful stickers with very varied topics such as DDD, microservices, Clojure, big data, vim, coaching, functional programming, testing, continuous delivery, Scala, etc. A great part of the merit belongs to the host, Mike Sutton, who was able to make the audience come up with the topics for discussion.
The definition given by Alex Bolboaca to the open space, namely "a conference made only of coffee breaks" is very suggestive. This is exactly what happened: involved people, lively discussions, exchanges of contacts. There was no sleeping in the desk at the back of the classroom, no reading of the mails, nor playing on the phone while waiting for the break to smoke. When the information received did not justify the time spent, you simply got up and left towards another area of discussions. Those who were too tired would search for a sofa or a coffee where, of course, another discussion was started ad-hoc. In short: it was an excellent experience.
Regarding the quality of the presentations within the open-space, some were better, others less good, but this is not very important. What matters is the fact that the discussions started around the given subjects were successful and that people were actively involved. My impression was that most of them did not come with prepared materials. They drew and improvised on the spot. Not all of the discussions were carried out in a professional manner, not everybody knew how to speak in public. But again, this was not the point. What matters is the fact that they had the courage to get involved to such an extent, thing which made the event a successful one.
In conclusion, I must congratulate those at Mozaic Works on the organization and, most of all, on the chosen format. No doubt, the event was one worth going to. I hope that, in the future editions, the open-space part will take up most of the time. I will definitely try to apply this format to the future meetings of the functional programming community. I also hope that the organizers of IT events in Cluj, and not only, understand the value of such a format so that we may also have a local unconference soon.