90 Days Engineer Landing Plan Template in TiKV Team

Jinpeng Zhang
3 min readJul 8, 2024

--

Background

As the engineering manager of a team, building a high performance and sustainable team is always the top priority task. Managers should build scalable mechanisms to support this. Practical landing plan for new engineers is one of these mechanisms. In this article I will share how I built the landing plan for new members in TiKV team.

Learn

I split the first 90 days landing period into 3 main stages: learn, practice and advanced, and each stage last roughly 1 month. And we will set up some tasks for the new member in different stages, these tasks in different stages may varies depending on the new member’s background and progress.

The main purpose of the 1st stage is let new members well understand our product from the users’ perspective, know the basic developing process and work flow in our team, know useful tools and key knowledges etc. The following tasks or similar tasks will be set up for the new member to achieve above goals.

  • Compile and build the binary for our product, deploy the product and play with it like a user. By doing this, the new member will experience the product like a user end to end. We also ask the new member to record any inconvenient thing/process he/she has met or any unreasonable thing like incomprehensible parameter names during the experiencing journey. These feedbacks and new inputs will help us make the product and process better.
  • File the first PR in Github. This PR can be adding comments for existing code, fixing minor issues, etc. By doing this, the new member know how to collaborate with others in Github. I shared some detailed practical experience in Github in this article.
  • Build up knowledges in distributed system by reading papers like Raft, Percolator: Large-scale Incremental Processing Using Distributed Transactions and Notifications, LSM-Tree, WiscKey: Separating Keys from Values in SSD-conscious Storage, etc. Reading TiKV design documentations.

Practice

In the practice stage, the new member will get familiar with benchmark tools, understand how the product works through visible metrics, and get code-level understanding by solving a specific domain issue or requirement.

  • Running regular benchmark like YCSB or simple raw-put/raw-get over TiKV, and do analysis with the help of visible Grafana metrics.
  • Adding some extra unit tests or integration tests for existing features & module. By doing this to understand how UT and Integration Tests work in TiKV, and know the basic engineering requirements of this project.
  • Pick up a domain scope small size task or issue, and solve it. By doing this, the new member will get code-level understanding of our project.

Advanced

In the advanced stage, the new member will get ready for Oncall, collaborate with other members in a project and deliver expected results. Typically following tasks are assigned in this stage.

  • As a secondary Oncall duty to experience the Oncall process, learn how to diagnose real problems with the primary Oncall duty’s help. Oncall is one of most efficient way to let new members understand the product from a whole picture perspective.
  • Participate in an ongoing project, and collaborate with other team members. In this way, the new member can collaborate closely with other team members, and know how a multi-person collaborative project works in our team.

After the advanced stage, the new member is planned to be able to deliver expected result and handle regular Oncall issues independently.

Mentoring and Feedback Mechanism

Each new member will be assigned a senior engineer in our team as his/her mentor. Mentors will keep close communication with the new member and help him/her to clean all obstacles when he/she is onboarding. Typically the mentor is also the owner of the collaborative project in the advanced stage.

The leader/manager will have bi-weekly or monthly 1 on 1 with the new member, and keep update the onboarding progress of this new member, also collect onboarding feedback from this new member: any help is needed, any changes should make, any onboarding progress improvement should make, etc. The leader/manager also will have regular conversation with mentors to collect feedbacks from a different perspective.

--

--

Jinpeng Zhang

Engineering Director at PingCAP, focus on building large scale distributed storage & database, and building high performance engineering team.