Going on tour: How we spread engineering knowledge and culture across Intercom
Main illustration: Justin Cassano
Large engineering organizations face a common problem – different teams working on different parts of a product can end up having specific domain knowledge, and even specific cultures, that can lead to silos.
With siloed engineering knowledge, teams can start building fortresses, which can make it harder for others to jump in and contribute to the company’s goals. They can focus on one particular team’s objectives rather than the whole organization’s. This is why knowledge transfer and building relationships between teams is crucial, and the first step in that process begins the day you join the company. Even after the first day, it is critical to encourage and maintain ongoing and continuous learning.
The software engineering industry often onboards new hires through short-term programs designed to familiarize engineers with the company’s code base and best practices in order to set them up for success in their role.
For instance, nearly a decade ago, Facebook established their engineering bootcamp program. Since then other companies have followed similar strategies. For example, MongoDB created a new grad rotation program where college hires try out a few different teams before choosing their best fit.
At Intercom, we have been employing the concept of engineering tours for the past few years. This gives engineers the opportunity to do short but impactful “tours” with different teams.
What is an engineering tour?
A tour involves an engineer temporarily transferring to another team to undertake a specific project in that team’s domain. For instance, a front-end oriented engineer may work on a back-end focused team building an infrastructure tool. Likewise, someone interested in data processing or machine learning may work with the data engineering or data science teams.
As part of our onboarding process, all new engineers who join Intercom go on tour to other teams within their first few months. These early tours offer an opportunity for new engineers to have impact while still onboarding, and just as importantly, we’ve discovered that tours are also a perfect chance to meet people on other teams and build relationships.
When I joined Intercom, our infrastructure team’s main focus was tracking down the root cause of recent performance issues with parts of our app. The source of this degradation turned out to be long running queries slowing down one of our databases. Our systems engineers quickly developed a script to fix this, but this was only a cupcake solution.
“These early tours offer an opportunity for new engineers to have impact while still onboarding”
As part of my first engineering tour, I was tasked to build a more scalable solution using our internal deployment tools. Although I had infrastructure engineering experience before, I had no idea how Intercom’s deployment tools worked, so naturally I was a bit nervous before starting my tour. Everyone in the Production Systems team was super welcoming and helpful, and it proved to be a great opportunity to meet the team and build relationships for future collaboration.
How to design an engineering tour
We think that a team can design two types of engineering tours. One of the tour types is prepared with the aim of shipping a new feature. This can be a product-facing feature or an internal tool and is usually accompanied by an intermission and rough tech plan prepared by a tour mentor. Most of the times the engineer would demo the new feature at the end of their tour in the company weekly Show and Tell on Friday evenings.
But we understand that it’s not always possible or sustainable to have a backlog of properly scoped feature-oriented tours. So the other type of tour that a team can prepare is more tech-debt oriented. By fixing bugs or performance issues and diving into the code, an engineer can understand better how the product works.
Tours are more than an onboarding tool
Engineering tours are not just meant for the onboarding phase of engineers’ careers, and we encourage everyone to go on tour with a different team at least once a year. Engineers have the chance to work across the organization, ensuring that we are continuously learning (and unlearning) different technologies and processes.
“It is critical to encourage and maintain ongoing and continuous learning”
On an individual level, this opportunity helps to keep engineers’ engaged by pushing them to expand their comfort zone and maintain a growth mindset. Engineers will also feel a great sense of reward by sharing the knowledge of what has worked with their team and also by bringing back new learnings.
And those individual benefits compound on a company level. By promoting constant tours the organization sees the cumulative benefits of knowledge transfer, avoiding the dangers of silos and facilitating cross-team relationships that can pay dividends later on.
Tours are not just about code
While tours are great to help engineers familiarize with a different part of the code base, it’s important to note that engineering tours are not only about the code. The purpose of a tour is not just about building better product, but about building relationships.
Besides the advantage of having code reviews from a tour mentor and other team members, engineers on tour get to know the people on other teams. It’s by working with different teams in this way that you hear all the war stories behind the different features, how different pieces of the infrastructure were put together, who was behind different ingenious pieces of code. Above all, you get the chance to forge friendships across the engineering organization.
Tours maintain culture when you have multiple offices
As Intercom grows, we strive to keep our technical knowledge and engineering values shared across our offices. So we don’t limit engineering tours within a single office location, but allow engineers to temporarily tour in different offices. This has been especially helpful as we grow our Dublin, London and San Francisco offices.
“The purpose of a tour is not just about building better product, but about building relationships”
The concept of tours has been so successful at knowledge and culture sharing that it has spread beyond the engineering org to other teams in the company – for example, Customer Support Representatives have toured with IT, and people from the Admin team to the Marketing team. In this way, it’s proven to be a highly valuable part of our culture.
A few months ago, I completed another tour around my first year work anniversary. I had the opportunity to work with our brand new Messenger Framework. We added a feature to track when a messenger app has completed its purpose, for example, when someone has requested a demo using our messenger app. During this tour, I really enjoyed the feeling of learning from scratch how the new framework worked. But more than the technical challenge of adding a new feature, I enjoyed all the work that required tackling product ambiguity and reaching cross-team consensus on an implementation that could be used in future projects by others.
Our experience has proven the benefits of engineering tours, in terms of employee engagement, cultural health and the opportunity for ongoing challenge. It’s the sort of model that every engineering organization should try.