Saturday, 17 October 2026

JezCon One

Last weekend a small group of fellow programmers met up just outside Birmingham for what I flippantly titled “JezCon”. It was a soul-filling weekend as it gave us an opportunity to discuss our chosen profession (and hobby in many cases) in surroundings where there was no pressure to engage in small-talk or feel uncomfortable because we were excluding our respective partners by “talking shop”. Not that there wasn’t plenty of social chit-chat too as the conversations naturally ebbed-and-flowed in and around the wider topic.

The Premise

JezCon is essentially the physical manifestation of what started out as “The Call” – a fortnightly video chat involving a bunch of long-time programmers whose primary connection is/was being a member of ACCU [1]. In particular we have all spent many late nights in the bar at the ACCU Conference and Meet-ups (and others, such as Pycon UK and NorDevCon) chewing the proverbial fat.

People typically refer to the time between talks at conferences as The Hallway Track as it’s the opportunity to socialise and network with like minds. Similarly the evening equivalent is The Pub/Bar Track as the attendees tend to swap tea & coffee for beer & cocktails [2].

The “Jez” (of JezCon fame) felt we should do this bit far more often, especially as since the start of Covid, and the consequential adoption of more remote working, we were spending less time directly socialising with our fellow professionals.

I’ll admit I’ve not been a regular attendee, but I have enjoyed the few I’ve managed to join in, and naturally jumped at the chance to spend a few days sharing a house for a more localised gathering.

The Format

As a group of nine it was possible to find a large house via AirBnB that we could all share. Unsurprisingly, Birmingham was the equidistant point for us all and so we all had a few hours of travelling but nobody had a ridiculously long journey. (Those at the edges of Britain are always a long way from everywhere…)

I packed my portable projector, some magic whiteboard paper, sharpies, Post-It’s, etc. just in case, but the property came with a large tv screen in the living room and that more than sufficed for what people had planned. Not that there was a formal schedule per-se, but a few people had put together some sessions which then gave the weekend a little bit of structure.

As the house came with a kitchen we had the opportunity to keep costs down by group cooking, and I was eternally grateful for the splendid meals that some of the group put together to feed us all. (I loathe cooking with a passion but am more than happy to make up for it by cleaning and doing the dishes, etc.)

The phrase “tea & coffee making facilities” didn’t exactly inspire me with confidence so my other “major” contribution was to pack our spare filter coffee machine which at least made up for the tiny cafetiere they provided. It’s not had that kind of a workout for quite a few years!

Ensemble Programming Session

My highlight of the weekend was undoubtedly a mob programming session where we got to tackle a hacked together JavaScript version of Snake written by one of the attendees. Our job was simply to “improve” it. (There were a few Machiavellian flaws for extra authenticity.)

With over 250 years of professional programming experience in the room (and probably another 75 before starting our respective careers) I was excited to see how this would play out. I’ve been fortunate enough to work in a few teams where ensemble programming was a key part of how we worked [3] and I’ve really missed this over the last few years as we’ve become more remote, both in the literal and figurative sense.

I’ve mostly stayed away from JavaScript and what experience I do have dates back to the turn of the Millennium so I was interested in how useful my knowledge of programming in general would be to the task at hand. With a background in curly brace languages (C, C++, Java, and C#) I knew the syntax would be fine, it was more about which high-level concepts are available, and can we use them to make the code more readable / malleable.

I think the instigator of the session only expected it to last a couple of hours, but we ended up doing six hours in total because we all got so invested in the process and the continued outcomes. Not everybody stayed for the entre six hours and people came and went as necessary – a free flowing mob – which highlighted the casual approach to the entire weekend.

One of the most interesting aspects of ensemble programming is the negotiation that takes place around the flow of changes. One participant was quite vocal when we moved too fast and they didn’t feel we were adding the relevant tests or taking small enough steps. My particular focus ended up being on naming and metaphors and using language to be more precise in our concepts. Yet another was looking more at the bigger picture and overall flow. There were definitely some voices that were louder than others, despite our best efforts to not dominate proceedings, and I hope everyone enjoyed the exercise as much as I did.

I think it’s fair to say that most of us aren’t exactly excited about where the industry is heading due to the invasive use of AI tooling, but it’s hard not to be at least slightly impressed by the equivalent refactoring that was produced by one attendee using such tooling in minutes rather than hours. (Of course one should not confuse the journey with the destination.)

Interlude

I hadn’t planned anything in particular, but as only one person had attended the ACCU conference this year, I decided to resurrect my “Slop Bucket” lightning talk to kill 10 minutes. This was my usual [4] IT related comedy one-liners, but this time with images for a change. (I also discovered Nagle’s Algorithm is less well known than perhaps it once was.)

Jez’s Favourite Pull Request

The session by the conference’s namesake was a little unusual but also very interesting. He presented his favourite PR, but opened with some simple code and a puzzle – why did this take hours to evaluate?

The code was a fairly simple conditional tree with some use of ternary expressions too, no loops or other obvious candidates that would typically create a performance issue of that magnitude.

This was in part a ruse because he wasn’t talking about the performance of evaluating in the traditional sense, he was referring to a tool he had been asked to work on which is used to evaluate the code using static analysis. I won’t spoil the punchline but the old adage about “the size of the fix being inversely proportional to the amount of time spent investigating” felt alive and well.

What was most interesting here was listening to someone talk about a problem domain I know little to nothing about. While it was good to see the PR in the end, the journey he took us on and the way he allowed us to play along and try and guess the issue by little clues was still very entertaining and engaging.

Time to Check-out

Although I’ve focused on those two sessions, they weren’t the only two over the weekend. However, they were the two which highlighted what it is that I enjoy most about programming and in particular how sociable it can be in the right setting.

Anyone who has ever read the works of Gerald Weinberg, and The Psychology of Computer Programming [5] in particular, will know all too well that programming has always really been as much about the people and the collaboration between them as the artefacts of the process.

We also had a fantastic conversation (yet again) about types and type systems (a topic which has always been close to my heart [6]) that stemmed from the ensemble programming session and has reminded me that I still need to pick up a book on Ada.

JezCon Two & Beyond?

Although we ended up with nine people, it should have been twelve, but sadly not everyone could make it; not least the person who probably put the most effort into making it happen in the first place!

Naturally he feels he missed out and so is already talking about when we can arrange a second gathering. (This also means it won’t fall foul of the classic naming problem caused by including a number in the title which then overpromises [7].)

I’m definitely up for more. It rekindled some feelings I had when I attended my first ever programming conference – ACCU 2008 in Oxford – and that’s got to be a good thing. Maybe the pragmatic use of AI will change the nature of our day-to-day jobs as we edge ever closer to retirement but I hope that there is still room in our lives to simply enjoy the art of code like we did that weekend [8].

EDIT: Our namesake has written up his own review here: jezcon1.

 

[1] See one of my first few blog posts back in 2009 – Who is the ACCU? – for a brief synopsis.

[2] This aspect of conferences has always been my favourite. My 2025 opening Afterwood Learning in Person looks at this in more detail.

[3] I first wrote this up back in 2018 as To Mob, Pair, or Fly Solo and later turned it into a conference talk you can watch here: Mob, Pair, or Fly Solo?

[4] If you’ve never experienced it, A Decade of Lightning Talks with Programming One-Liners will give you a feel :o).

[5] This book is almost as old as me, probably older if you consider when the research and observations that lead to it would have occurred.

[6] My 2012 post Primitive Domain Types - Too Much Like Hard Work? nicely captures my opinion on the lack of effort typically expended on thinking about types.

[7] Jez and I both attended The First International Conference on Software Archaeology way back in 2014 and sadly it has yet to be repeated :o(.

[8] Afterwood – Occupational Hazard