My first week at Merkely - Meet, mobbing, and more!
My first week at Merkely - Meet, mobbing, and more!

My first week at Merkely - Meet, mobbing, and more!

At the beginning of November I started at Merkely. It’s not my first job - I have plenty of experience when it comes to starting afresh. In my time as a consultant it felt like I was starting a new job every time I had a new customer. So, although change is always a challenge, I thought I knew what was coming my way. However, this time there was something I didn’t take into consideration - the experience would be fully remote.

Where is everyone?

On the first day I realized I had no idea what to expect. When you show up at a new office for the first time there’s usually someone to take care of you. You meet your new colleagues, you get to know the space, maybe you need to sign some papers. But, when the first day happens and your desk is just a few meters from your bedroom, the experience is quite different. I didn’t realize how much I’d miss the thrill of having lots of new things come my way.

via GIPHY

There were people I could talk to on Meet or Hangouts, but they weren’t there in the same physical space for a casual conversation. The only things around me were my laptop, my cup of coffee, a wooden bullfinch, and a little picture of chickens hanging above my desk.

I got access to the company drive, I was invited to Slack, and a number of meetings showed up in my calendar. The most important thing I discovered during the first day was that at Merkely we do mob programming and I was invited to join the team Hangout the next day at 9am. And that’s where my Merkely adventure really began. Do you know what we mean by mob programming? Let’s remind ourselves…

Mob programming (informally mobbing) (aka. ensemble programming) is a software development approach where the whole team works on the same thing, at the same time, in the same space, and at the same computer. This is similar to pair programming where two people sit at the same computer and collaborate on the same code at the same time. With mob programming, the collaboration is extended to everyone on the team, while still using a single computer for writing the code and inputting it into the codebase.

Ok, but in the same space tho? 🤔

My colleagues are hundreds of kilometers away, so in the same space, and at the same computer doesn’t really work. But, it turns out that this doesn’t really make it any more difficult. There are some rules when it comes to mob programming techniques, but it all came naturally once my colleagues started working.

I joined the hangout at 9am and dived straight into solving problems. Or I should say straight into watching my colleagues Jon, Simon, and Arstan solve them. Our product consists of a few different parts and on this particular day we were focused on solving some interface challenges - Merkely’s frontend is a web application. I started my IT journey as a web developer, so I thought this would be familiar territory for me, but I was quickly proven wrong. Luckily, it wasn’t really a problem. My colleagues were very patient with my constant interruptions anytime I wanted them to clarify something or make sure I understood what they were talking about.

So, what does mob programming look like in practice when everyone is remote? Simon shared their entire screen while the rest of us discussed issues and solutions. Sometimes it was as simple as someone just directly spelling out what should be added to which line. It seemed so natural to them to have three (four, including me) people working on one problem. It also seemed completely normal that some of us had literally no idea what should be done.

Why we mob

You might think it’s a waste of time, and I have heard this concern before, that four people could solve four different problems instead of just one. But, solving the problem wasn’t the only positive outcome from the session. Each one of us learned something and I refreshed my programming skills. And at the same time we took care of code review while the code was being produced because when you do pair or mob programming the review is instant and constant. This continued all day and I don’t remember the last time I was as exhausted after work as I was that day. Until the next day came!

Sami joined our mob session on day 2. That made 5 of us, so we decided to split. I ended up working with Sami and got to know another part of the product. This time we focused on the CLI Merkely client - a tool our customers use to communicate with the web app, reporting to and reading data from it. The style of this session was a bit different from the day before - where we all actively participated in figuring out problems and solutions - because this time I had absolutely no knowledge about this part of the system, or the language we use for the CLI tool.

Instead, Sami shared the screen AND did the work. But more than that, and with great patience, he explained each step as he went. As a new, not exactly confident member of the team, I felt relieved that I could be “the audience” for a while, but as I became more familiar with the code, the more eager I became to take responsibility for screen sharing. Again, I welcomed the end of the working day, tired but with the satisfaction that comes after you have put a lot of effort into whatever you were working on and you’re happy with the result. Third day in and I already felt I was contributing.

On top of all that mobbing fun I was invited to join customer meetings, including sales calls. And that allowed me to become familiar with the challenges we were facing with current and potential customers. The fact I knew little about the product was not an issue. Slowly and steadily I could start putting together a picture of what we were doing. It is much easier to address an issue in the code when you’ve heard what users expect from a particular part and why. It is also much easier to understand the product when you can see the customers using it, giving you real life examples.

And just like that it was Friday

So, what did I make of my first week overall? As a new member of the team I lacked confidence, which is probably not that surprising. The thought of having to join the mob programming session was almost terrifying and I was sceptical of the whole concept. I worried I wouldn’t perform well and would embarrass myself. I know not everyone feels the same, but I’m sure this anxiety is not only my problem.

But a few sessions with my new colleagues, watching them for a while and understanding what they were doing and why, helped me to overcome this fear. I realized that no one is out to get me, we are all working on finding the best possible solution together, and we learn as a team on the way. And we also get to know each other, which I consider to be one of the most important aspects of teamwork.

Remote work has its perks and its challenges. It is much easier to get to know people if you meet them in the office almost every day and chat with them during lunch or coffee break. It’s difficult to replicate these interactions when everyone works in different locations, but mob programming, even remotely, helps to address that. Maybe you’ll go and have a coffee by yourself, but you still spend the majority of your working day WITH your colleagues.

On the first Monday I had only a very vague idea about Merkely and how it can help our customers. But by the end of the week, after a few days spent on different tasks with my fellow team members, I was confident enough to speak up during customer meetings. That doesn’t mean I suddenly understood it all, but I learned so much in such a short time. I still like to play detective on my own and add insane amounts of println statements to figure out where the problem is, but most of the time it’s much more fun to work with colleagues, even if they are really far away.

Teamwork makes the dream work

The “never walk alone” attitude at Merkely applies to more than just the mob programming sessions where we develop the code. For example, I know that I won’t be forced to face a customer on my own and that working side by side with a colleague makes a big difference. I am pretty sure they would be happy to write this blog post with me if I asked, but this time I wanted to speak for myself. Ok, I still asked them for feedback and then edited the content a bit. But it’s still my voice, just improved!

🙌

Top Articles

How regulated teams can avoid the DevOps Lite trap with DevOps Change Management

How to secure your software supply chain with Artifact Binary Provenance

Merkely 2021 - Making friends with change

Published December 8, 2021 in
Ewelina Wilkosz
Ewelina Wilkosz

Subscribe to The Merkely Meteor for all the latest news, updates and ch-ch-changes

Subscribe to the Merkely Meteor

More posts in culture

8 reasons why we do ensemble programming

At Merkely we do as much of our work as possible in a group setting, especially (but not limited to) programming. In our experience most tech teams don’t do this and we think they’re missing out on all kinds of advantages that come from working as an ensemble.

Subscribe to The Merkely Meteor for all the latest news, updates and ch-ch-changes

Merkely is committed to protecting and respecting your privacy. Don’t worry if you change your mind you can opt out at any time - Review our Terms and conditions and Privacy Policy
Subscribe
Merkely is committed to protecting and respecting your privacy. You can unsubscribe at any time by clicking the link in the footer of our emails. For information about our privacy practices, please visit our Privacy Policy.
Subscribe to the Merkely Meteor