Remote Coding Dojos
Tags: teams, social, beginners
Published: 2021-04-07 21:35:12

---
title: Remote Coding Dojos
published: true
description: How to do conduct a remote Coding Dojo?
tags: teams, social, beginners
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nui7ydpkn0n6psdf8lf0.jpg
canonical_url: https://return.co.de/blog/articles/remote-coding-dojos/
series: Coding Dojos
---
If you are new to this topic, please read my article about [Why You Should Do Coding Dojos](https://dev.to/stealthmusic/why-you-should-do-coding-dojos-3n4j). That article will cover the whys and hows for conventional face-to-face Coding Dojos.

This article here will just deal with the differences.

# Motivation

During the pandemic, it is obviously necessary to shift a lot of activities to remote-only. In agile teams, this holds for Dailys, Retrospectives but also for Coding Dojos.

We had a pretty stable team for years but now we got 4 new developers which created the necessity to start a regular Coding Dojo again. As the new developers were not at the same location anyway, it was clear that we needed to do this remotely.

# Challenges & Solutions

## Decreased Social Interaction

Coding Dojos are more about social interaction and team building than they are about practicing to code. Everyone who attended one or two online workshops knows, that a large percentage usually keeps mostly quiet, more then in a face-to-face situation. Sometimes you cannot even see them because camera is switched off.

This needs to be addressed in a remote situation. 

First, by ___having the camera always on___. I had the video screen on the right of my wide-screen display and the IDE on the left.

Second, by ___good moderation___. It is important that one team member focuses only on moderation without joining the codingt. That moderator should actively try to get all team members involved by asking them, especially the introvert ones to create a more balanced distribution of speaking time.

Use ___hand-raise function___ of the collaboration tool (if available) to ask simple yes/no question to the whole team to prevent awkward "everyone/no one talks" situations.

## Tooling

For a remote Coding Dojo, you obviously need more than a Laptop, keyboard and mouse to get successful.

We used MS Teams for ___voice and video call, chat as well as screen sharing and remote control___. Especially the latter is crucial for a successful Dojo. 

The idea should still be to have a single computer that the whole team works on. We tried IntelliJs "Code With Me" plugin (similar to VSCode Live Share) but it was lacking basic functionalities like "Create Files", typing was extremely laggy (3-5s latency) for most attendees and auto-completion did not work for some reasons. This might get better in the future.

So we quickly moved to ___using the "Request Access" feature___ in Teams which supports multiple cursors and was generally snappy/low latency.

As an alternative, you could try git hand-over with shifting the screen sharing session. But that wastes a lot of time every 5 minutes and distracts the others with different resolutions, color schemes and maybe even different IDEs/editors. I would not recommend that.

## Keyboard Layout

If you have people with different keyboard layouts in the team that control your computer, you should install and switch the layout accordingly to allow them to work as they normally do. This is usually also true for F2F Dojos but since people might have different keyboards at home it is worth to think about that beforehand.

## Preparation

You should test the setup first with one team member. E.g. MS Teams eats a lot of CPU resources which can create lag on its own when running the application or tests in parallel. You have to test that everything works as expected in a screen sharing + video situation.

# TL;DR

Some short advices based on the sections above:

- Camera always on
- Good & focused moderation
- Tested and well-prepared tool set-up 

It worked pretty well for us and was a lot of fun. I would think that remote Coding Dojos are not less effective in a remote situation, they are just different.

You should try it!

Did you already try it? Leave a comment how it went and if you have suggestions!