Going for Martian Tapas with our distributed development team

Captain's log, stardate d159.y38/AB

RubyTapas Ruby Distributed Teams Company Culture
Àlex Rodríguez Bacardit
Founder & CEO
Going for Martian Tapas with our distributed development team

Running an officeless company, where all of our team works from different locations, means having to devise strategies for team bonding. A really cool one for development teams is to go for tapas every Thursday.

Oh, wait, forgot to mention it: virtual tapas about Ruby, JavaScript and development in general.

One of the many group activities we do at MarsBased, in order to bond further as a team is to meet every Thursday to discuss development over a videocall.

It all started a couple of years ago when we started discussing a RubyTapas episode every week.

RubyTapas is a series of short screencasts about the Ruby programming language, curated by one of the most influential and well-known Ruby developers Avdi Grimm. The episodes cover every aspect of programming, from API design to making code more readable, addressing security concerns or how to build the best test suite for your applications.

Let's describe how we conduct this group activity.

Selection of content

Even though RubyTapas has got an extensive list of topics and episodes that covers every aspect of programming, we've recently decided to spice things up with other languages & frameworks (React, Node.js, TypeScript, etc.) and tools we use or like to play around with (Kubernetes, Shopify, Locomotive CMS, etc.).

That's why we decided to call it Martian Tapas instead.

We have created a Trello board with the topics we want to discuss. Every card represents a Martian Tapas session, with its associated topic, a link to the actual content and a designated moderator, who is the person who suggested the topic and therefore the chef.

We like to keep it short, simple and sharing with one another, tapas style!

The sessions

Every week, the chef is rotated and the new one schedules the call for Thursday around lunchtime. The session is 30 minutes long, and usually covers only one topic or up to four small concepts.

A session of just a single topic can be a demo of Shopify, or to discuss our Git workflows, whereas the small topics covered in multi-topic sessions can be comparing Minitest to RSpec, discussing a specific gem (like Dexter, Rack::Attack or active_model_attributes), how and when to use specific functions in a given project or how to refactor a complex snippet of code.

The session is kicked off by the chef, introducing the topic and commenting on the topic selected for the current session, and it's also the moderator who will lead the conversation and moderate the debate among all the developers involved, asking questions and adding remarks where appropriate.


There are two big wins here.

First, we keep a record of every session in a shared Google Docs document, with the relevant links and the takeaways of every session. We also jot down the conclusions we extract from each session and what actions will we take as a team. A good example of this is "we will not use X gem anymore in any project because it's too buggy and therefore unstable. We will build a bespoke solution the next time we need it."

This ensures that we are aligned and on the same page regarding technical choices and even style-related decisions. We also learn a lot from each other and ensure that technical knowledge is shared and therefore distributed evenly across the team.

Second, it's a good way to socialise further with the rest of team members. As a 100%-distributed team, this kind of dynamics are very helpful and allow us to spend more time together.

Some of our team members work on one-man projects and therefore don't interact a lot with other team members. This is a good time to do it.

The Martian Tapas sessions complement other team dynamics we do, like our annual team retreat, going to conferences together, or event attending our own Startup Grind Barcelona events.

Share this post

Related Articles


How to handle client work remotely: our communication Stack

We use this communication stack to manage client work remotely.

Read full article
Man working in a coffee shop

How to maintain company culture with remote teams

As remote teams become more and more prevalent how can you build community among your distributed workforce?

Read full article
Maintaining company culture in remote environments

Maintaining company culture in remote environments

Maintaining a strong company culture can be tricky, but it's trickier in distributed teams and all-remote companies. In this post, we discuss how we do it in our officeless development consultancy.

Read full article