Image by Gerd Altmann from Pixabay

Recently, I’ve been working more and more with Python. I’ve even joined a Study Group that primarily works with Python to add some momentum as I round the learning curve. Our organizer, leader, visionary (hehe) recently invited me to a session of mob programming. Now I’ve never heard of mob programming but who am I to say no.

Now I am familiar with pair programming. 2 individuals collaborating, taking turns as Driver and Navigator. Mob programming has a similar setup but introduces the mob. Now the mob in short are the onlookers and part of the collaboration. While rules can generally vary on how people shift roles, our session started with 1 driver, 1 navigator and the mob, with 5 minute timer in roles as the rotate people out. In fact there’s a site that provides a simple app that can track this for you and it’s free. It’s a pretty nifty tool also, so link attached.

The basic concept of a mob programming session is everyone working on the same problem, task, or code, at the same time. In fact being a part of the mob, while passive, requires a bit more detailed viewing of what the driver and navigator are working on or trying to accomplish. Once you slot into active role, driver or navigator, you have pick up or maybe go in a separate direction. But the mob can also interject when something might go awry or if the navigator is a bit in the fog or unsure what was going to happen prior to the role switch.

Now I’d love to say that this new group I was a part of, hit the ground running or synced like a video of dancers on tik tok. Truth is, it was a bit nebulous for a lot of us working on a leetcode problem. Also, we were using Pytest to also work on Test Driven Development at the same time. So, there were plenty of plates spinning. After, a few hours there were plenty of circles my mind made in trying to keep up and digest in terms of this mix of engineers. Then, like most things in programming or at least in my mind, it suddenly clicked.

After a few lackluster turns navigating, I got the flow of how others viewed the specific question and what the current approach was, and suddenly my test flashed green, SUCCESS. Of course, it got a bit late at that point so we set the code aside for when we meet next. But overall, going in it seemed like ths was going to be a far bigger challenge. We sometimes focus on trying to knock it all out on our own, but once I gave into the general flow things started happening. I had that Nemo moment in the East Australian Current.

It was cool, and I’m looking forward to the next session. So wish me luck. Till next time.

Software Artificer, Random Pop Culture Generator