Spread the code: How Jampp’s tech team tackles knowledge-sharing

Dardo Marasca
jampp-engineering
Published in
6 min readSep 7, 2021

Knowledge is power. But knowledge itself doesn’t guarantee top-notch tech. It’s only when we share what we know among fellow engineers that we can reach our full potential as a team.

Being open and transparent about knowledge (whether it’s a piece of software, the features of our products, or the way in which we write code) is what enables every Jampper to become a true owner of their work. The more we know, the faster we can develop, iterate, and deliver outstanding tech. At the end of the day, this drives us to be more competitive as a company.

That’s why at Jampp we consider that building an agile knowledge-sharing culture is a key pillar of our technology team. And we’ve got numerous ways to do it, both internally and externally.

Want to find out how we share knowledge as a team? Read on 🤓

Insider info: how we share knowledge within our team

print(“Hello, World!: Tech Onboarding at Jampp”)

This vital knowledge-sharing practice starts on day one, as we give our best to ensure the onboarding process is a true learning experience.

During the first two or three weeks at Jampp, new engineers take part in thoroughly planned 101 meetings with every Team Lead. The goal is not only for them to dive into our fascinating industry, but also to understand how the team contributes to achieving our goals as a company.

Complementing these sessions, engineers are brought up to speed with tailored training based on their background, the role they will be developing, and the tech team they are joining, all of which is supported with documentation about our tools and technologies.

from “Jampp’s Best Practices” import “Documentation: keeping track of our progress”

Building our internal records: The most important best practice that we implement is documenting everything we develop. We don’t consider a project finished unless it comes with complete technical documents that allow any Jampper that was not part of the development to understand the solution and the decisions that were made around it. This also helps a lot when it comes to onboarding new team members! 😉

Giving constant feedback — Another key practice is providing constructive and meaningful feedback on ongoing projects, whether it’s through RFC (request for comments) documents, or through our code review practice.

  • RFC documents are built during the solution’s design stages and when these solutions reach a minimum level of maturity, the documents are presented to all the teams involved. At that point, every team member is able (and encouraged) to ask questions, debate, and suggest changes to the original idea. Senior engineers can easily detect potential issues or areas of improvement and transfer this feedback and knowledge to others.
  • Code review, on the other hand, takes place after implementing a solution and is organized through Github. In this case, the feedback is directly about written code, so it’s a perfect opportunity for junior developers to get specific pointers to improve their work and make sure they are aligned with our best practices.

def “Tech Discussions”:

On a day-to-day basis: One way to keep connected as a remote team is through our Slack channels. They are the go-to tool for new engineers to ask for help and take part (even if they are only spectators) in technical discussions between other team members. To keep our conversations organized, we divide our channels by teams and goals: we have a channel for tech questions, another one for reporting bugs, and one for announcing changes.

Monthly initiatives: We also have a set of team initiatives that foster our knowledge-sharing culture by generating an environment for laid-back and enlightening interactions.

The first one is a company-wide session where one or two Jamppers share a specific topic related to our business. The second one is specifically for the tech team, where we deep dive into technical solutions implemented in the latest projects.

Every couple of weeks we also have technical challenges, where all engineers (and Jamppers from other teams as well) can compete to solve a specific problem (not necessarily related to Jampp). Winners always present their solutions to the rest of the team and, to make it a little more special, they get a treat delivered to their home.

And we don’t stop there! How we connect with the outside world

We also have several ways to share knowledge externally, which helps us create a connection between the technology community and Jampp.

One of the most important ways of sharing knowledge with others is our interview process. Our purpose is to ensure that all candidates can learn while they go through the process and are evaluated, not only about Jampp and our business, but also about the technologies we use and the solutions we develop.

We design the hiring process taking into consideration who the candidate is and what position they are applying for. With that in mind, we develop a custom hiring path, selecting the interviewers that will best assess the required skills and ensure a meaningful learning experience for the candidate. In some cases, we also include an exercise or challenge which our engineers are in charge of reviewing. They do this with the same diligence with which we carry out our daily work, providing constructive feedback to all candidates in all cases.

Apart from our hiring process, we also share our expertise by participating in different conferences, both local and international, as well as hosting different meetups at the office (before COVID-19, when we could get together). We’ve been part of specific events over the past few years, like PyCon, PyData, Nerdear.la, and ECI. Our goal is to always give tech talks or share knowledge so participants can truly find learning experiences during those interactions.

Wrapping up

Knowledge-sharing is part of our culture as a company and as a tech team.

One of the most meaningful moments at my job is when I learn something new. This knowledge helps me take a leap, challenge myself and grow as a developer. In order to do that, I need to fully understand the tools and software we work with, and there’s no better way to gain those insights than by learning from my fellow teammates.

There are many ways in which we do this. As we’ve mentioned, internally, we develop regular training sessions, a thorough onboarding process, and mindful documentation practices; externally, we look for ways of contributing to the tech community by participating in conferences, meetups, or publishing posts (whether it’s an academic paper or a blog post, just like this one 😉).

Overall, all of these methods help us build a stronger team, as well as communicating and sharing knowledge to develop better code and build seamless tech that helps our customers grow their business.

Want to join the team? Visit our careers page to learn more about open roles and opportunities at Jampp.

--

--