Pipedrive Onboarding: Thoughts & Experiences

How Pipedrive approaches onboarding and the probation period

Imre Lebedev
Pipedrive R&D Blog
8 min readJan 28, 2021

--

Photo by Andy Mac

Co-authorshed by Imre Lebedev and Abdulhakim Alsharif

One of the main questions usually asked when joining a new company is “How do processes and overall work flows happen in the company?”. This question often seems to be overlooked or not examined fully enough. This lack of examination makes the joining process more difficult and could cause a feeling of confusion to the employee on where to start their new career challenge.

Luckily in Pipedrive, there’s processes to onboard employees in order to help create a smooth transition into new roles and get up to speed as fast as possible.

Meet the authors

Before jumping completely into this article, I’d like to introduce ourselves and give you, as a reader, some more context. Writer #1 is Imre Lebedev with an experience of 4.5 years in IT, mostly in operations and monitoring. Initially started the onboarding process in March 2020 as a Junior Infrastructure Engineer.

Writer #2 is Abdulhakim Alsharif, or Hakeem for short. Started off as an intern Infrastructure Engineer, then switched focus to be a Junior Database Engineer within the infrastructure team.

What does Pipedrive do differently?

General

For a large amount of companies, new employees are simply thrown into the water head first with minimal initial training. This issue may even span into the long term when an employee is unaware of useful information that help reduce the time to accomplish tasks. In Pipedrive, we use the first 2–3 weeks, depending on the position, to welcome newcomers to the company.

These weeks are spent introducing the product’s ins-and-outs, teams, different processes, flows within the teams, and overall insight about what Pipedrive is and how it works. In addition to all this, people are taken on insightful workshops on how to manage deals, activities, contacts and all the other goodies that a customer can use do with the Pipedrive product. This helps employees who are not directly involved with the business and front-end side of things, to better understand what customers can expect from the product. Additionally, it widens the understanding of the business goals that have been applied to the product for the present and future.

Engineering

In addition to the general onboarding, new engineers are given engineering-specific onboarding to arm them with the required information and help get them up to speed. The engineering-specific onboarding covers several topics within the engineering umbrella of Pipedrive, some are pre-recorded but most are done in real-time.

An interesting part about the process is that all the trainers are Pipedrive employees and aren’t selected from outside the company. This means everyone who introduces a certain topic is sure to own a good set of knowledge regarding it. This ensures that information is highly relevant to the company and that the business goals align smoothly. As people have already gone through the general onboarding, these sessions are done throughout the span of 1 to 2 weeks. This lets employees split your time 50/50 between everyday tasks with a mentor and engineering onboarding.

There’s too many sessions to mention them all here, but we’ll mention a few here, all of which are real-time sessions that we believe benefit the most.

Development Process

Photo by Christopher Gower on Unsplash

The engineering onboarding session kicks off with an introduction to Pipedrive’s development process, which includes an extensive overview on the different ways of having your own testing environment, Pipedrive’s CI/CD framework, Fregatt (you can read more about Fregatt in this article, written by our DevOps Engineer Jorge Claro), and setting up our devices to spin-up a miniature version of Pipedrive into our own local machine. The environment can then be used to mock different tests and play around with it. This knowledge is highly useful as it allows us to go full Hulk mode — smashing, breaking, and destroying anything without risk to the actual Pipedrive platform as the environment is isolated.

From a Database Engineer perspective, this session was very useful in terms of reproducing issues that developers in our company are facing, like managing MySQL user grants. There are times when MySQL grants are applied to our environments that don’t reflect in the local development setup. The lessons learned from this session helped, and continue to help, in tracing back the problem and figuring out the cause.

Microservices

The engineering-onboarding touched on Pipedrive’s microservices architecture, which gives great insight into how Pipedrive functions as a whole as well as some history on the switch from a monolithic to microservices based application. (Show us some love with a thumbs up if you would like to see a blog post about this.)

The session then went a step further, breaking down Pipedrive into its services, and going through each extensively. This session was very beneficial as it detailed the flow of data in Pipedrive’s services, and also served as a good chance to get to know the engineers from other teams.

We often need to deal with the availability of the microservices. Knowing how we create and manage them helps us, within the infrastructure team, quite a bit. For example, we often request the error logs from developers reporting an issue that might be related to infrastructure. We then make conclusions based on the logs on where the issue might be. Oftentimes, instead of it being a problem with the microservice itself, it’s an issue with a component within our microservice architecture such as service discovery platform or host.

Quality

The quality onboarding session focuses mainly on what should be covered by tests and the testing frameworks used in Pipedrive to achieve code coverage. The session also goes into detail on what to do with failed tests, tools advised to use such as Sonarqube, covered processes of our incident management system, and information on postmortems. There’s an excellent blog written by some of our Pipedrivers about supporting quality releases that you can read more on here. With the quality session being one of the last remaining sessions, it flows nicely since with the recently equipped preliminary knowledge from earlier sessions. This session reinforces that knowledge by taking it to a quality focused approach.

As both of us are in the infrastructure domain, we didn’t go through the quality control procedures, so our knowledge is still theoretical regarding this session. Luckily we still a chance to sign-up to any future onboarding meeting to refresh our knowledge and even go through with the procedures.

Monitoring

Photo by Luke Chesser on Unsplash

One of the last engineering-onboarding sessions goes into detail on Pipedrive’s monitoring stack and how to use each tool in the stack. There was an overview on the different environments in which the monitoring stack resides and how to add our own exporter for prometheus to scrape off any needed data. We also have a neat blog post that gives some overview about how our developers get monitoring data rolling within the deployment pipeline right here.

From the Prometheus and Grafana side, we were given a tour on the use of the two tools. The session also showed how teams organize their own Grafana dashboards to display useful metrics and configure alerting. This also gave us a glimpse of how on-call rotation works in contrast with alerting within Pipedrive.

As members of infrastructure, monitoring is extremely important. One way that this session helped even beyond the probationary period is by giving a solid understanding of our monitoring stack. Thanks to this session, we are able to create and edit dashboards, configure alerting for panels within the dashboard, trace the flow of data that is displayed on the dashboard, and even more if necessary.

Mentor program

The Mentor program (or buddy system), is one of the most useful and best ways to approach the probation period based on our opinion. Every new-joiner will be appointed one certain experienced colleague that can be addressed with any question or problem. We found this aspect of the probation period process to be the most useful and it doesn’t stop there. It continues to be one of the most eye opening and self-developing qualities even after the probation period ends.

As a junior infrastructure engineer, only owning basic knowledge of the tools used within the team was not enough. That’s what I was mostly afraid of — how can I cope with, well… everything. Lots of the code, tools and repositories are homebrewed and covering all of them without any help would be devastating. This is where the mentor program came to help. I could easily organize 1-on-1 meetings on any topics or just ask questions as I was diving more into the infrastructure engineer role. When taking on new challenges, like building out a totally new region and running into dead ends, I always know I have someone to go to who could help me understand why something is done the way it is. An important thing is not to use it as a getaway ticket from trouble, but rather take the information given and learn from it. This is where I’ve yielded the most experience so far — by taking on tasks that I might not know much about, working on them and getting pointers from a buddy. It really serves as a great aspect of the probation period.

Probation

Photo by Studio Republic on Unsplash

After a proper onboarding of the day-to-day work side, the probation period starts. An excellent part of the probation is that a new joiner isn’t overwhelmed with tasks that could easily go over a person’s head. Instead, the newcomer becomes slowly involved with easier or more common tasks that the team usually deals with on a daily basis. One of the biggest parts of actually getting involved with different tasks is the mentor program that we talked about previously. At the end of the probation period it’s clear that a person isn’t expected to know everything about all the parts of the scope that the team is responsible for. Rather, it’s more seeing how well a person works and fits with the team. With how much the onboarding and mentoring programs give insights to the product and different work tasks, it’s safe to say that the probation period is stress free and ran its course with ease.

Wrapping it up

Overall the experience gained throughout the initial weeks of being a Pipedriver helped us to achieve a better understanding of how all pieces come together and eased the process of fitting into a new position. Furthermore, the knowledge could be referenced to when taking on a team’s day-to-day challenges and tasks which made living into the new role much easier. We definitely enjoyed our experience during our onboarding and would love to see such processes used elsewhere as well.

Interested in working in Pipedrive?

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

See the available positions, including:
— Database Engineer
— Junior Infrastructure Engineer
— Software Engineer in DevOps
— Site Reliability Engineer
— And several more

--

--