Pipedrive’s new buddy program

Mykhailo Dorokhov
Pipedrive R&D Blog
Published in
8 min readNov 9, 2021

… or how our juniors turn mission-ready in a month

​​Pipedrive has recently become a Unicorn 🦄. We started hiring at a fast pace and shifted our focus to junior candidates. A challenge? Definitely, but also an opportunity.

How it all started

Pipedrive already had an outstanding engineering onboarding process when I joined the company two years ago. The process is well described in this article by Imre Lebedev and Abdulhakim Alsharif. To put it shortly: One starts with a product onboarding — a full week of exploring the product that we develop at Pipedrive from a customer perspective. The product onboarding is followed by the shadowing of support specialists. Listening to real customers’ questions or complaints allows newcomers to immerse themselves in customers’ experience and understand that there are real people behind back office numbers and real problems behind Jira tickets. From the second week onwards, the newly-hired engineer is assigned a buddy, a more experienced engineer, who helps them with their first steps.

In the first quarter of 2021 and following a short break due to Covid, hiring resumed at Pipedrive. Since hiring senior-level engineers is always a challenging task that often requires creativity, we understood that to match our needs, we need to start hiring HPELs (highly-performing entry-level) candidates. We then started to think about how we can help newly-hired junior engineers reach full-productivity as fast as possible, so that the tribe’s velocity does not slow down. Marko Nõu, a site lead at the Tartu office, had an idea: What if we assign a full-time buddy to guide and help newcomers during their first weeks? It was a concept idea that I took on as a challenge to develop further. “Junior-level newly-hired engineer, mission-ready in one month” was an ambitious KPI, and we started field research on how we can reach that goal.

Pipedrive office in Tartu. Photo from my Instagram.

At this point, you might ask yourself “Why would you assign a full-time buddy to new employees if Pipedrive already has onboarding sessions — which are tailored to fit the needs of newcomers and introduce them to Pipedrive — in place. To answer your question, engineering onboarding sessions are tremendously helpful. Yet, they are designed to accommodate a group rather than individuals, thereby lacking personalization and adjustment to one’s tempo. In addition, much like lectures at uni, they remain somewhat theoretical with few chances of applying your new knowledge straight away. It is a good way to reach scalability. However, having a well-established local, tribe-level buddy system helps both the buddy and the newcomer systematically and effectively reach their learning objectives.

You might be wondering what I mean by “tribes” and “missions”. Those terms represent teams and projects, respectively, and are drawn from a unique version of agile development framework that we use at Pipedrive. Read more about it in this article written by Kadri Pirn and Juan Gutiérrez, or explore how we came up with it in the great story written by our CTO Sergei Anikin.

Just three steps to become a strong team member

The idea of a newcomer-dedicated buddy to accommodate employees during their first weeks may sound promising but, being a costly investment, we needed to make sure it would pay off and deliver value.

I have come up with the idea of Step 0 of the process to serve as the ice-breaker. At Pipedrive we consider cultural onboarding just as important as the technical one. A great team synergy and chemistry does wonders to teamwork! For example, at the Tartu office we have our unique environment, consisting of memes, office games (Tekken, Heroes of Might and Magic 3, Civilisation 5, Starcraft) and even frequent ping-pong championships. It’s important that the new person gets an overview of our culture and a chance to participate. Think of it as non-stop team building. Gladly, Ahmar Siddiqui, a senior developer who happens to be a local Tartu-spirit expert, walks new employees through a special session, in which he explains to newcomers about the Tartu environment. Then, the newcomers’ buddy is responsible for helping them to apply this information into practice.

Back to work-matters, the second half of step 0 includes setting up the development environment. While watching the endless terminal output during installation of various tools and libraries, it’s time to chat with the newcomer about their previous experiences, what made them come to Tartu, what they enjoy working with, etc.

Step 1 is inspired by my own experience as a newbie. The newcomer receives a simple task, preferably a one-liner, to solve. The idea behind it is not the task itself but going through the typical development process at Pipedrive. First, picking a task from the Jira board. Then, marking its status as “in progress,” reading its description, reproducing the problem in development environment, looking for the right repository in GitHub, searching the code where the fix needs to be applied, testing, committing the changes and creating a Pull Request, asking for a review and putting a reviewed change for deployment via Rakett, our home-made deployment tool.

Step 1 not only allows the newcomer to go through the process, but also allows them to feel part of the team. They have now contributed to Pipedrive’s mission and their code is live on Pipedrive.com. Moreover, since Pipedrive is a cloud-based solution, once a feature is developed or bug is fixed the code changes go live, after the autotests run successfully (a process known as Continuous Integration, or CI). This first, safe and controlled experience removes the inhibitions of pushing changes to live.

Step 2: another amazing contributor to the process is Isaac Agaba, a frontend developer with whom we came up with the “learning task” idea — a synthetically-created task that never goes to live environment and is designed in a way that encourages the newcomer to use all the major technologies and libraries of our technical stack.

For example, backend developers would be asked to create a REST API endpoint, validate input, talk to other microservices, query the database, log, cover code with functional and unit tests etc.

Why is this needed? A random task, picked up from the Jira board, would not necessarily guarantee that a newcomer gets a chance to explore and work with all common technologies that are part of Pipedrives development process. This way, we ensure that they get to know everything they need systematically and in a controlled environment, with their buddy beside them ready to answer any questions they might have.

In Step 3, the newcomer works on real tasks — selected in cooperation with their buddy — to ensure they can try out things they’ve learned in previous steps. We have the list of main skills, tools and libraries reviewed in Step 2 mapped out, and the buddy ensures they are covered in every new task. Much like filling your card at a game of Bingo!

In fact, step 3 used to be the starting point for the default buddy system. We then added a few more steps to help the newcomer familiarize themselves with development practices, so that they can solve the same problems faster and more independently.

In step 3, the buddy monitors the mentee and searches for a mission they can join. Joining a mission is a crucial last step of onboarding: the narrow scope of a mission enables the newcomer to grow faster and become a pro in the mission-dedicated field.

Illustration of the main steps of Pipedrive's buddy program

More than just a buddy program

In addition to the 3-step process, there are dimensions beyond engineering where the buddy helps their mentee develop.

Mission-readiness: This one is straightforward. As mentioned above, the buddy ensures that all vital Pipedrive-wide and tribe-specific tech areas and aspects have been covered and applied in practice.

Independence: Gradually — from following instructions to pair-programming to gaining partial and full independence — the buddy turns the new employee into a confident and independent developer.

Connection with people: The buddy ensures that the newcomer gets to know other key people in their tribe and site by introducing them to those people when the time is right. For example, when they have questions about other roles and functions at Pipedrive.

Deep dive into team culture and spirit. At Pipedrive, we believe good chemistry and tight collaboration is key to teamwork. The buddy ensures the newcomer is included in the team and office, with the help of a dedicated assistant!

Äike, office assistant of every buddy in the Tartu office.

Learnings

We realized that process systematization is crucial. Onboarding experience depends on whether a buddy has a plan for a newcomer and a skill or a passion to develop others. In his article “What I learned from Mentoring Interns”, Keithmar Salumets arrives to similar conclusions, and it’s the same for junior engineers. I was very lucky with my buddy back when I joined (hi there, Rain!), and my goal was to ensure that the same thought-out training is consistent across the tribe and the entire, much thanks to using the appropriate framework.

The same learning tasks are extremely useful when onboarding a person who switched tribes or roles. For example, employees who switched from front-end development to back-end engineering and vice-versa.

Ending such intense first weeks with a mission was received by positive feedback. Not only are missions usually focused on creating new features, but they also provide newcomers with a smaller scope, which is the perfect environment for new talent to shine!

Since the program was launched, we’ve hired more than 20 engineers and onboarded them using our new framework. We don’t plan on stopping there, though. We keep collecting feedback and brainstorming on the lookout for further improvements. 🚀

Interested in working in Pipedrive?

We’re currently hiring for several different positions in several different countries/cities.

Take a look and see if something suits you

Positions include:

  • Junior Developer
  • Software Developer
  • Junior Observability Platform Developer
  • Infrastructure Engineer
  • And several more

--

--

Mykhailo Dorokhov
Pipedrive R&D Blog

Software Engineer at Pipedrive. Programming teacher at Tartu Annelinna Gümnaasium. Content creator in my free time.