Code BEAM, Stockholm 2022

I started writing this on the train home from Code BEAM. It’s an Erlang, Elixir (and BEAM in general) conference put on by Code Sync which is part of Erlang Solutions. It was a hybrid conference, I was there entirely in person. It was a very good time.

“Isn’t Underjord Just You?”

Having gone recently from being a single-person consulting and contracting shop to having a small team I took a rather different approach to this conference. My team does not have deep connections in this community. They are new and much of their experience stem from different worlds than tech. I planned for two things before the conference and I scheduled a day for each.

On the first day we did “team-building”. That is, we spent the day together with a few activities, good food, had some drinks and generally got a chance to spend time together. The whole point was to make sure our remote-only team got a chance to find our footing as a group in person.

On the second day I had pulled together some interested people and co-conspirators, some which we knew and some which we didn’t. With this gang we set out to run an informal workshop where we played with Nerves and LiveView and just generally doing tech for most of the day. After that we went for a comprehensive dinner sitting in the evening. Tech for breaking the ice and having some fun and then time to get to know one another. The point was to know some other people before delving into the mass of people that is a conference.

I’m very happy with both of those days and the entire plan. They themselves would have made the trip worthwhile.

At Dawn We Confer

The conference started. The starting keynote was great! Sanne Kalkman spoke about the importance and value of bringing in more inexperienced developers. She offered some models I found useful for understanding the challenges in transmitting knowledge to them. If you run a team I definitely recommend keeping an eye out for the recording. I have one overall criticism around the keynotes that I’ll get back to further down, it had nothing to do with the speakers but rather execution around their talks.

It was followed by something I was actually quite hyped for. I crave a good ritual. Kenneth Lundin presented the new OTP 25 release. It is a tradition at these events and from my understanding it has been a bit of a meme that it is a dry read of the changelog. I don’t know if it was ever literally that but this year definitely seemed very well put together and quite succinct compared to what I remember of my first experience a few years back. Regardless, it is a presentation on the work of building Erlang that I find embodies the character of Erlang itself. It doesn’t try to be very fancy and it gets the job thoroughly done. I think the ARM 64 JIT is probably the most appealing thing that affects me in the particular changelog. In reality I was most excited because with an inspirational keynote and a technical rundown the conference was officially on.

Talks? But I’d Have to Listen to People..

Overall I was bad about going to and paying attention at talks. I think the preceding days busted my focus a bit as well as a code problem pulling me into try to fix it. I skipped a fair number of talks and didn’t pay a ton of attention so unfortunately I won’t be able to give a good rundown. I hope someone else shares their notes.

There might not have been a ton of entry-level technical talks. And understandably there was a split between Erlang and Elixir. Had timing been different we would have likely prioritized ElixirConf. There was one talk about LiveView and JS interop which was much appreciated by my team and was useful to me. Hands-on and practical with tools we use day-to-day. Super nice speakers as well, ended up talking a fair bit throughout the conference.

I had a lot of very decent hallway track interactions. Overall there was a lot of big Erlang shop employees there, your Kivra and Klarna folks that are apparently all over the place. My sympathies to the employees at Klarna by the way, they’re having no fun right now (see news about Klarna lay-offs). I spoke to some Elixir folk I know that made the trip. I would say there were significantly fewer there than last time and I think the pandemic/travel balance isn’t there yet for people. Very understandable.

The hallway track really got going at the bar after though. Those evening conversations were probably my favorite times. Great people, more time to talk.

Fame! Recognition! Finally!

One thing was novel and that was the one person that went. “Oh, you’re the Underjord guy right. I had a question.” This is the first in-person conference since I started doing anything in public with Elixir. I rather enjoyed that though I was rather urgently on my way to the restroom which meant I couldn’t nearly savor the glory of the conversation.

We Did It Twice!

Second day beginning keynote was fantastic. As expected with Quinn Wilton and she was not held back but seemed rather unleashed by having Robert Virding on her side, a solid speaker in his own right. Their talk was probably my favorite overall. I’m not sure I can apply it to anything but it scratched my brain in a good way. It gave historical context for a number of things about Erlang, it was funny and it was deeply technical and nerdy. Very enjoyable even in moments when a fair bit of the language-nerdery went over my head.

The ending keynote was interesting. Brooklyn Zelenka who I’ve seen give a very good keynote at ElixirConf in Prague a good while back gave this one about burning our laurels. Apparently it connects with her talk at EMPEX so I should check that one out too. Essentially it focused on what would be required to operate in a client-first world. It bundled client-first, edge computing and decentralization as problems in an interesting way. Currently talks about decentralization puts my guard up due to crypto-currencies, zero trust and blockchain hype which I have no interest in and do not see as a particularly promising way forward to .. anything.

Brooklyn interestingly steered clear of the coin side of crypto and blockchains almost entirely but did dig into what we might need to abandon to operate in a way that doesn’t require talking to a central source of truth. Essentially giving up data consistency was probably the central thing. I thought the talk was very interesting and probably one of the best put together and most clearly presented ones I attended. It also had some of the more unfortunate after..thing. Nothing that reflects on the talk and I’ll get to that whole keynotes-thing shortly.

I spoke to her after the talk, mostly because my team demanded Witchcraft stickers but also because I was curious how into Web 3 this Fission company actually is. From the conversation, my charitable and optimistic read is that they want to see what can be achieved in decentralization, in client-first applications and in general in tackling some of those hard problems.

I’m not convinced they aren’t a bit too tangled in Web 3 but I get the impression that they are more interested in providing options for solving fundamental problems in low-trust computing than facilitating the sale of bored apes. The type of problems they want to solve seem like they may very well give us useful tools for specific problems, whether or not they achieve their goals. That’s the optimistic, charitable read from someone who is generally very skeptical about anything that rubs up against Web 3.

On Keynotes

Okay. The keynote thing. I don’t think there should be a general prompt for questions after talks unless the speaker explicitly asks for it. Particular I think this is the case for a keynote. It would have to be a very interactive keynote indeed for it to benefit from the crowd’s input. The keynotes are supposed to set the key note for the conference. For example. Sanne did a very good job setting up the topic of how and why to open the door for juniors. She did get two questions. I don’t remember the first one clearly, it didn’t particularly detract from the talk but definitely didn’t add to it. The second one was .. more of a comment really.

If this was you, sorry to throw you under the bus, I am sure you meant to do some good. Interpreting it kindly this was someone wanting to make sure that no-one understood this to be an absolute. “You must hire juniors!” A less charitable interpretation is that they thought the speaker wasn’t aware that it is a nuanced thing. There was some unclear, unprepared, unrehearsed (because it’s a crowd comment trying to become a question) thing and essentially the question was “something, something but it isn’t always good to hire juniors right?”

Sure. Right. True. Not the point. Trying to raise a key note and then having someone decide the rest of the piano really needs to be taken into consideration is not particularly compelling. That nuance fits in the discussion after and about the keynote. Not as an improvised encore by a member of the crowd half way up on stage. This is to a very small degree the responsibility of the person asking the question, they were actively invited to.

The final keynote which I thought was very well put together and ended very well showed where the issue really lies in my eyes. The invitation to questions. Q&A are often poor ad-hoc addendums on any conference talk. They do have their place though and can be quite good for some types of talks. Even better if the speaker is comfortable to do questions during sometimes. It’s a different circumstance, a different goal. For a keynote I don’t see the point. This ended up with an MC trying to source questions from an auditorium that was satisfied and ready to wrap up if I was to hazard a guess. It was a good end note. Let it end. End it. Don’t let it linger.

Quinn & Robert’s keynote entirely avoided the issue by going over time, leaving no space-time for questions. So it went through spotlessly.

I’m not sure I would have reacted quite so much to this aspect if I hadn’t read the fantastic The Art of Gathering by Priya Parker. That book very much informed how I tried to do the small events I did before this conference and it has some important things to say about opening and closing. Overall I think if you have a keynote to actually set a key note, which I think the talks were well chosen to do, I don’t think you should invite questions unless the speakers specifically wants it as part of the performance they are putting out there.

In Conclusion

All in all a good conference and this above small criticism aside I have zero complaints and tons of appreciation for the event put on.

It felt fantastic to be back in the BEAM community. For me it felt like the start of many more good and even livelier ones. Unfortunately I won’t be able to continue that arc for a bit. I’m having a second child soon and we’ll be quite busy while the Elixir community congregates and cavorts without me. A hard life but a good one.

Am I wrong about keynotes? Did we meet at the conference? Do you go to conferences? Let me know your thoughts at lars@underjord.io or on Twitter where I’m @lawik.