Our Company Retreat: Things We Learned During Codegram's 2019 Retreat 🏕

Team retreats are a good way to bring a company together. For a remote-first company like Codegram I would even say they are essential.

The main goal of this year's retreat was to disconnect from our day-to-day and work on new projects by exploring new technologies, surrounded with the freedom and fresh air of a new space, which this year was in Gironella.

Honestly, there are so many great locations in Catalunya for a retreat, but the reason to choose this year's location is simple: our co-worker @Arnau Besora has had a baby and, as he lives near there, he could visit the family every day.

The week before the retreat, at the office, we prepared some projects we had in mind in order to see how they could evolve and establish the main learning goals to work on.

Everyone chose a project and the teams were made corresponding to the learning needs and interests of each one.

Start The Retreat With Company Goals

We started our retreat with a management presentation on company goals and weekly projects. Every team presented their project talking about what they had in mind, technology they wanted to use/learn and their weekly goal.

What I Learned During The Retreat

In my case, ****I wanted to learn Zapier : how to work with this tool and what to automate to simplify some routine works I usually do.

In the first instance, I tried to connect Ghost and Twitter. I wanted to create a Zap to share on Social Media (LinkedIn, Twitter and Facebook) when we posted a new article on Codegram Thoughts.

The first problem occurred when I couldn't get the API URL and key from Ghost. No place to find them, so I had to choose another thing to automate, out from Ghost.

Then, I tried to connect Facebook and LinkedIn so that when we posted something on the former, it was automatically shared on the latter, but this also failed as Zapier didn't allow me to connect LinkedIn because I didn’t have enough permissions.

Last try, connecting Gmail with Google Drive in order to upload the .pdf invoices received in my Codegram email to have them in the cloud.

Achieved! When some .pdf file is received into my account and from some specific senders, it is automatically uploaded to the accounting folder on Google Drive.

So I finally created a useful Zap to simplify one of my routine tasks.

Working space during retreat

After that, I interviewed my coworkers as I wanted to ask them questions about their projects, their ideas and their goals. The interviews were both at the beginning and the end of the week, and here's what all of us experienced!

What My Colleagues Learned During The Retreat

There was a project called Live , a game developed by @Núria Soriano on 2017 using Vue JS and, as now she wanted to learn Rust, she decided to recreate it by using this new language. The goal: to develop a playable version of the game by using and learning Rust.

At the end of the week, she completed all the features she had planned and had some extra time to refactor and improve the code! She learned a lot about Rust. It was her first contact with the language so "there is still a lot to learn and explore, but it's been a great start". In the future, she will continue working on the project as she'd like to finish the missing features (crafting objects and upgrades), play with threads for better time control, and explore WASM to be able to play the game on the browser.


@David Morcillo and @Arnau Besora had another project: Devtrips.

Devtrips tries to be a search engine for recommendations of annual tech conferences.

The idea came from @Núria Soriano, our colleague, that as a developer she wanted to know which conference to go soon. Today, there's no tool to find this kind of content with related suggestions.

Their goal: a usable and useful MVP of the product.

At the end of the retreat, Arnau learned how to use parallelism in Elixir with Flow and GenStages. David explored Flexbox and Grid using raw CSS. He didn’t want to use a CSS framework so he created few components from scratch. He decided to try Vue/Nuxt as the frontend framework and he really had a good time with Vue/Nuxt and, after working with other frameworks like React and Angular, "Vue feels very natural and easy to use". Learning goal was achieved!

In conclusion, they couldn’t finish the MVP in time so the project is very early stage right now. At the moment, the important feature that they're missing is the conference recommendation engine. Anyway, they want to continue working on it in order to keep adding more components, learning more CSS through the process, exploring Machine Learning and improving design skills.


Another project was Hiitkeeper , by @Oriol Gual and @Aitor Porro. Hiitkeeper is a timer for HIIT workouts to be displayed on a TV. The idea arose from Oriol's experience in the gym; his trainer used a rudimentary useless tool for hiit trainings (by using an Excel connecting the computer to a TV), so he decided to create an app to improve all the process. By working on this project, Oriol wanted to learn AWS AppSync and Rust. Aitor, instead, wanted to explore state management with VueX and animated graphics with SVG.

Their goal: create a website that can be used in the gym to follow hiit workouts.

After working on it, they concluded it wasn't user-friendly enough to be used on production, but they had plenty of fun exploring Nuxt and Vuex and they'll definitely continue working on it!


@Marc Divins had a very different project in mind: actually, it wasn't exactly a project, but an introspection to learn how to be a perfect project manager.

His goals were many: to understand what a project manager is, to know if what he's doing fits the role and, therefore, make self-criticism in order to improve what's needed. In addition, he wanted to discover some tools that can be useful to this kind of work.

He asked the team who's been working with him the last five years to answer a survey with several questions so that he could evaluate his Project Manager role, and he also completed 2 courses about Project Management.

After receiving the survey answers, he decided to do a deep analysis of the results to understand them and draw a definite conclusion. When done, he will continue working on getting the weak and strong points as PM from his peers POV and try to solve each weak point without forgetting tasks and roles that he's doing well!


The last project was called Devflix.

Devflix was born last year's retreat and its team had many members!

@Josep Jaume Rey Peroy, @Oriol Gual, @Marc Riera and @Txus Bach were part of it.

We could describe Devflix as an index of technological talks which arises from the need to find relevant tech talks for developers.

The learning goal behind it was, for Josep, to discover the current state of affairs with React and particularly with the Nuxt framework, and the latest news from React like React Hooks, a part from tools for prototyping UI interfaces. Txus and Marc wanted to practice Rust and mainly to explore Natural Language Processing related to Machine Learning by using Amazon AWS pipeline.

All together wanted to get a usable interface and an internal release of the project.

At the end of the week, and as they had already planned a roadmap and developing was faster starting from milestone 1, they ended it with milestone 2 completed plus some other really nice features they really hadn't considered previously.

In the future, they'll update the project roadmap to reflect the latest changes and keep polishing the project so that they can publish it!

No More Than Half The Time Was Spent “Working”

After all these experiences working on our projects we also enjoyed a bread workshop, going out to run, some kart races, the spa-massage activity, some odd board games with a beer in hand, and a lot of cooking together.

We concluded our retreat renewed, happy and with lots of new things learned.

I’ll leave you with a quote from one of our team members about the retreat:

This year's retreat allowed us to take a step back & view the bigger picture, to reconnect & rediscover our passion for the work we do. On a personal level it’s left me with a clear understanding of our shared values & collective purpose - instilled a real sense of belonging within the Codegram family - feeling inspired, motivated and quite frankly damn excited for the year ahead - bring it oooon! Mike Earp — Head of Strategic Partnerships