SoCraTes Germany 2024

SoCraTes Germany 2024

Wow, a year has passed. And still, it felt like coming home when I arrived in Soltau for the SoCraTes 2024. This says a lot in itself, I think. Last year I met wonderful people. Thanks to the Security Card Game Lisi, Philipp, and I started developing, I was even able to stay in contact with two of them in between the conferences.

Being the second SoCraTes I attended, I was not sure what to expect or even if it can live up to the expectations I kind of had after my first one. Let me say this upfront: It was different, and the people and the conference did not only fulfill my kind of vague expectations but did so much more.

But let us get to it one by one. Like last year, there may be a core theme crystallizing for me.

Training Day

It started with a session on “Experiencing Team Flow” by Michelle Grootjans who illustrated Little’s Law and a WIP limit in a game and various simulations. While I heard only a few new things, I really enjoyed the simulations. Michelle did a great job visualizing different aspects of different team constellations and WIP limits. This was very entertaining and also enlightening.

Next up was “How to untangle your Spaghetti test code” by Michael Kutz. He did a great job in creating a cheat sheet on how to spot tangles in your (test) code. You can find it in his GitHub repository for this workshop. However, the more interesting part was when the discussion shifted to testing without mocks, where he showed how he uses Stubs instead of mocks. He even proposed a session on it, but I did not find the time to attend.

The highlight of this training day was the training by Lisi Hocke. She did tell about “Secure Development Lifecycle Applied - How to Make Things a Bit More Secure than Yesterday Every Day”. I had already enjoyed last year’s training session on teaming exploratory testing, also we are collaborating on the card game, therefore, I was full of expectations. And what shall I say, she just blew them. In these two hours, Lisi not only managed to teach key terminology. She even packed a hands-on Threat Modeling Exercise, and an exercise in hacking and defending a vulnerable application using the Damn Vulnerable RESTaurant API Game. Thank you for that experience. It was kind of mind-blowing on how well-prepared a training can be. I am still a bit in awe.

Open Space And Workshops

So much happened. First, I found myself in the position to not only co-host a kind of planned session on the Security Card Game. However, I also asked for a pull session on Observability, which turned into a merged session with Daniel, who was offering some insights into his take on Observability. Thank you, Daniel!

And also thank you Lisi Hocke and Philipp Zug for presenting the Security Card Game for the first time to the ‘public’. And also many thanks to the feedback from the people at the session. It was encouraging and will be helpful.

Another, interesting session from the first day was on “Non-Blocking continuous code reviews” by Thierry de Pauw. You may find more information in this article by Thierry. I still ponder if we can use something like this at work.

The next day started with a session on “Reading code (in the IDE)” by Marit van Dijk where we looked into IntelliJ and its capabilities. This was kind of continued with an update on JetBrains AI Assistant in a spontaneous session on Sunday evening. Especially the second session already proved to be helpful at work. If I ever have to opt to read the release notes or Marit showing things, I will choose the latter.

Then there was a talk by Lea Rosmea on accessibility in single-page-applications. While I do not develop frontend much, it showed me some pitfalls I surely will take information with me and discuss it at work. And, I may steal the “Skills & Wills” terminology from Lea, when it comes to work, I maybe can do but not want to.

I did attend three more sessions on Saturday, as they help to constitute my main theme of this year SoCraTes, I will circle back later.

The workshop day, aka Sunday, was quite nice. It started with some Rust, then became about reverse engineering a websocket connection to automate some content check. Before dinner, we even made it to the sheep. Thank you, Claudia Bischoff for taking us for a walk on Friday, otherwise I would have not known the scenic route. At dinner, we realized we did not have lightning talks this year. Self-organized as we are, we just created some. As written above, Marit van Dijk showed off the JetBrains AI Assistant. Corstian Boerman talked about design principles and why good software should be kind of boring. He also surprised me to know the KEGG database. Apparently, he needed this for a project to measure the ripeness of an avocado. Christoph Kober talked about Adam Torhnill’s work on discovering hot-spots in your code. Oh, and he showed gource a tool to visualize your project history. I surprised myself when I gave a brief talk about a podcast episode on the “Emergence of Repliaction and Computation” I’ve listened to on my way to Soltau. I was even more surprised when I used multi-outlet power strips to visualize it.

Outside of sessions

There was so much going on outside the sessions. Again, Lisi Hoke hosted some ensemble capture the flag sessions. This time they not only taught me things about capturing flags and hacking boxes, but also a lot about group dynamics. I even entertain the idea of hosting something like this at work to demonstrate the power and difficulties of an ensemble solving a problem. This could have the benefit of not being an ensemble programming session and therefore being too closely related to daily work.

I also had an interesting chat with Michael Kutz on the predictability of software engineering and the need to make expectations and need explicit. This got me thinking and leads directly to the next section.

My Main Theme

The chat about predictability, together with the sessions on “The Distance between Intention and Gestures” by Romeu Moura, “Passion Personality Test” by Gabrijela Hladnik and “How minds change” by Michael Kutz somehow set my main theme for this SoCraTes.

Romeu Moura started with the question of “Why hotels do not have toothpaste?” and somehow managed to rise the question “When did the descriptive become the prescriptive?” and then end at Nihilism and why this is an issue. It was a thrilling talk that in the end made me feel bad about myself. Interestingly, not in a bad way. More like in a way where I may introspect myself more carefully for reasons I do things for. The session about the “Passion Personality Test” by Gabrijela Hladnik was fun and reminded me that people may be able to turn their passion into a job or not. Nothing brand new actually, but it was nice to have a space for this kind of discussion. Lastly, Michael Kutz introduced the works of David McRaney on “How Minds Change” and the importance of social groups in defining what we believe.

Well, again a SoCraTes which did not have a technical main theme for me. For me, these three sessions helped me start a reflection on my role at work and on the kind of work I want to be doing. Currently, my role is officially that of a senior developer. However, I sometimes venture into the roles of architect and team coach. As long as I only venture, this is fun and also pleasing, I can always go back and say, “That is not my role, I will not do this”. However, I may need to think about shifting my role and also accept the unpleasant things coming with it. This may also lead to reducing the pleasure which comes to me of writing code and closing tickets and shifting my focus. The funny thing is, I expect it to even be a bet freeing - not only define myself by lines of code and features. One thing which is already clear to me, I am able to turn my passion into a job, and I also like working in a team and get the team working. Sounds like fun times ahead of me.

A note of thanks

Thank you QualityMinds for sponsoring this year’s conference and also for sending me there.

And to all the people who attended: Thank you, this is such a wonderful event! Also, most certainly I have forgotten to mention some people I have learned from. Please forgive me. I hope we meet again next time.