"Everything changes and nothing remains still." Although he lived over 2500 years ago, the Ephesian philosopher Heraclitus could have been talking about today’s computing universe when he said this. Change can be hard to handle, especially with the relentless pace and the immense volume at which software is changing today. Working in software can be an exhilarating ride but being able to keep up with the waves of change is both a required skill and a seemingly intractable problem.
To make the challenge of handling change even more difficult, not all change is useful or wise. Sometimes disruptive change is just plain distracting. Gartner's Hype Curve can be useful, but then we risk missing out on something that could be very useful to an immediate problem as we wait for it to emerge from the Trough of Disillusionment. Another barrier to handling change can be a reluctance to let go of concepts previously accepted as foundational bedrock and axiomatic. To really be challenged by disruptive ideas and technologies, we have to admit to and then let go of some deep-seated biases.
Last year, I watched a Neal Ford and Mark Richard’s series of videos, Software Architecture Fundamentals. One of the many great instructions they proffered was that the role of a software architect -- though, I feel it applies to other senior technology roles -- is to have good technology breadth, that is a working knowledge of a wide array of topics rather than a deep knowledge of a few. Neal describes the ideal concisely in a blog entry from September 2015. So, I had a problem: how do I continue to increase my technical breadth without affecting my current productivity or my family time? Is there a way to consume information on a wide array of technologies whilst reducing the overhead on myself to curate that list of technologies?
Birth of Belfast’s Brown Bag Sessions
I thought long and hard about the struggle to stay afloat with the rapid changes in software while developing my “technology breadth,” and came to a very logical conclusion: get other people to do the work for me! And thus was born the idea for Belfast's Brown Bag Sessions (hereafter the Sessions). The idea here is that rather than having to find an external community of technologists on social media, we would make a technology community within the office. Of course, the Sessions aren't exclusively for my benefit and, if I’m being truthful, the Sessions are really for everyone. They are an informal forum with the goals to:
- Permit the sharing of software engineering-related ideas;
- Allow interested people to show off a groovy new technology;
- Enable individuals to practice and hone their presentation skills; and,
- Foster communication, collaboration and a positive culture within our Belfast site.
I must stress the use of the word informal, since a sure-fire way to ensure the failure of the Sessions would have been to make them a formal affair. The mood is jovial; the atmosphere collegiate. Meetings are not recorded unless the presenter wants it to be. Neither minutes nor attendance are taken. From an organisational perspective, this is a bit of a boon, especially when you consider that an entire industry exists to help companies enhance their employees' communication skills, increase collaboration, and attempt to foist a positive culture upon their workforce. The Sessions is one endeavour that, in my opinion, delivers on all of these noble goals over the lunch hour with minimal oversight and minimal procedural rigmarole aside from booking the meeting room and following the rules.
The Sessions Rules
Rules? Yes, rules.
- You talk about the Sessions.
- You talk about the Sessions.
- Someone yells stop, goes limp, taps out or the clock says 1pm, the Session is over.
- Everyone is invited to the Sessions.
Seriously, though, the only rule agreed is that every presenter must begin with a joke. Furthermore, it seems that the de facto standard of jokes is poor. (What better way to calm the nerves than to have people laugh at you at the start of your presentation!)
Most of the Sessions so far have been about presenting something new and, as such, have been great at delivering on the fourth goal listed above. While many presenters have prepared a slide deck and demo to show, there is no requirement to prepare anything concrete or any expectation that the presenter is an expert in what they're presenting. The latter must be underscored. It is a deliberate act to keep the barrier of entry to presenting a topic low. Questions and ideas are also ever-present from those in attendance. There are (usually) many people in the room. Each brings different professional experiences and interests to the table and all are free to offer answers to questions and critique ideas in a way that is positive, affirming and beneficial to all listening.
There is no theme of presented topics. To be honest, Sessions are simply scheduled in the order that the presenters volunteer. To some this may seem disorganised and unplanned. To others, (including me) the focus is on the variety, which is what breadth is all about. In the past few months topics have included:
- Event Storming
- Apache Kafka
- Single-Page Applications& Angular
- Monadic Composition
- Fallacies of Distributed Computing
And we have a backlog of ideas for folks to volunteer to talk about.
The cadence of the Sessions was a topic of some debate. Twice a month was strongly considered but once per month was what was settled upon and this frequency has worked out well because there has never been cancellation and the backlog of topics has never been exhausted. The thinking here is based -- rightly or wrongly -- on a personal inference from the Broken Windows Theory: that if we start cancelling a Session that should have taken place then it's okay to cancel another. Unfortunately, a corollary of this is that if there is no volunteer for a given Session there must be a default presenter. To further add to this misfortune for all concerned this default presenter is me. (To everyone's relief I have never had to present by default!)
Brown Bag Alternatives?
And thus life goes on in the shires of Belfast where an assemblage of ordinary people attempt to make healthcare better, cheaper and faster, all the while keeping up with the ferocious pace at which their world changes. So with a view to Kaizen I am always interested to hear of other people's experiences doing something similar in order to achieve the same goals. Do you have any other techniques for keeping up to date? How do you embrace and promote a culture of learning in your sphere of influence? Do share in the comment section below.
Want to read more posts like this?