I’ve had a wonderful time at the Socracan 2020. Here’s my Experience Report about it.
What’s an Open Space?
An Open Space (a.k.a Open Space Technology, a.k.a Unconference) is a kind of event where attendees are in charge of the conference itself.
Attendees can suggest the topics they want to participate in.
There are a few rules:
– Whoever comes are the right people.
– Whenever it starts is the right time.
– Whatever happens is the only thing that could have.
– When it’s over it’s over.
– Law of movement (previously known as Law of Two Feet).
Remember about Bumblebees and Butterflies behaviour: bumblebees go from flower to flower, butterflies stay in place for longer.
For more information, see here.
Benefits of an Open Space
– There is more overlapping in what attendees want to attend vs what they can attend. Any session that does not fit in the “team-decided tracks” are welcome to be organized in the corridors or any other available space.
– Attendees are more involved in the organization. Hence, fewer people are needed to organize the event.
– Attendees can go in and out of the sessions without any expectation of staying the full session. Attendees also have the freedom to attend no session at all (and still get value from the event).
Why did I attend?
These kind of events (i.e., open space) are much more influenced by the attendees than other kind of conferences. Why? Because there is no formal schedule, the attendees make their own schedule. Even if the session(s) are not accepted into the schedule (e.g., in the marketplace), people interested in this can share information, knowledge, contacts,… about the topic, without having a formal event. As an example, I was interested in hosting a session on ‘Safer C programming’, but there wasn’t enough general interest to have a session. Luckily, one person (thanks!) got close to me and we discussed for a short while on the topics I had interest about.
Open space is usually (but not always) more informal, smaller network of people interested in these topics. This Socracan brought ~60 people to Tenerife, meaning you can talk to (almost) everyone over the long weekend. With conferences having 500+ attendees, this task gets more difficult. Also, the line between attendee and speaker gets blurred, given how you can host a few sessions, but attend many of them hosted by others. Naively, you could think that everyone is both a speaker and an attendee, therefore removing any difference between people.
Conferences are usually paid-off from an economical point of view as soon as you get enough information to unblock your current problem. Given that you can suggest your topics, it is more likely that you get value out of it. On other conferences, there are a few topics that make up the whole backbone of the conference (e.g., language-centered: java, kotlin; paradigm-oriented: object-oriented, functional programming; domain-centered: cryptography, traveling, consulting; style-of-programming: web, big data, systems programming). ¹
Open spaces are a way to democratize the call for papers (C4P; the way of choosing the topics) of a conference, and to involve everyone in the conference. Both if it succeeds or fails, it’s the attendees that have a big saying in it. It’s your turn to get involved in making it happen.
Open space feels like “Choose your own adventure”, in which you write your own future by making your own choices.
¹ Note: this does not aim to be a complete list of axes to categorize a conference. It’s just an analogy to explain the difference with an open space.
What I learnt
Selecting better Open Space sessions
– Informing what type of session it is: workshop, presentation. What kind of facilitator you want to be: expert, journeyperson, beginner, host…
– Dot-voting before putting it, then sorting by votes DESC.
CQRS/ES in sync mode
There is no need to run a CQRS/ES system in asynchronous mode. It is usual that we prefer async to increase throughput. When we need higher consistency than eventual consistency, we can do synchronous processing and modify the read projection before completing the command. It had never occurred to me that the processing of the read projection can be a mix of sync and async.
Psychology values Team Pyramid
It’s an analogy to the Maslow Hierarchy of Needs. This tries to set up a base understanding of characteristics that make up a healthy Engineering Culture. Related to the “Psychological Safety rated as the common in successful teams”.
Learned it in a session facilitated by Amy.
A kind of search that will find a match for ‘banana’ when searching for ‘bananas’. Less inclusive than fuzzy search, more inclusive than case-insensitive search.
Domain Logic Patterns
From the “Catalog of Patterns of Enterprise Application Architecture” – Domain Logic Patterns: Transaction Script (110), Domain Model (116), Table Module (125), Service Layer (133).
Service size vs Framework involvement
A heuristic for determining the framework involvement:
* Big service: small framework.
* Small service: big framework.
By involvement, we are referring to the degree we are coupled to the framework. From another point of view, the smaller the application code, the bigger percentage of framework code.
Learned it from Iván Stepaniuk.
Where did it happen
The event was hosted at the Instituto Técnico y de Energías Renovables (ITER). There were a few rooms, plus a dining room for all of us.
The accommodation was at the Bioclimatic Houses. The party happened in one of the houses (El Patio).
Other Experience Reports
Check the following Experience Report by Dácil Casanova