Onboarding Guide - Trendyol Android Team

erkutaras
Trendyol Tech
Published in
4 min readApr 30, 2020
First page of Trendyol Android Team Onboarding Guide

If someone says that her/him first workday was good and different, this means that there is an onboarding process at the company which she/he starts to work for. In addition to this if she/he says that the team is very good and people are very helpful, this means that the team has its onboarding process alongside the company’s one.

“If you want to go fast, go alone. If you want to go far, go together.” — African Proverb

Trendyol Android Team is an autonomous team and has its own onboarding guide. Because we know how important this guide is to increase team adoption, code awareness, domain knowledge, company culture, etc.

In this post, I try to explain how we help new members to become a team player. Let’s start…

We have prepared onboarding guide under 8 main sections and every section is explained by different team members. In this way, it is aimed that new member communicate with and know every team member. You can find mentioned sections below:

1. Jira / Stash

Under this section, new member is informed about followed development processes. Scrum board, its statuses(ready-for-dev, in-qa, uat, etc.), sprint, definition of done and how we follow the work processes as a team are explained. Branch management is also under this section. When describing branch management, we mention about team repositories, how we manage these flows, In addition to this when opening pull-requests. The main purpose of this section is that when new member starts to work on a task from the board, she/he has no question about work flow.

2. Release Process

Build types in the codebase are important part of release process. We have more than five build types, therefore, when and which build type can be used is described in this section. We have an internally developed CI/CD tool to manage this process and this tool is also mentioned. After these, main part of release process comes to scene: Google Play. Because, we use internal test tracks(internal app sharing and internal test) and release app updates with staged rollout effectively.

3. Application

Main concepts about internal structure and how they work are explained under this section. App architecture, marketing/event mechanism, deep linking processes, infrastructure of A/B testing, app initialization configurations, importance of lite-mode are some of the main concepts.

4. Some of Domains

Trendyol Android App has lots of domains as you guess, it is impossible to explain all domains during onboarding process. Because of this, just main domains are mentioned briefly under this section. Some of these can be summarized as home, search, basket, payment, authentication and more.

5. Monitoring

One of the most important steps is monitoring part for 10M+ downloaded app. Because we have to publish an app that provides smooth experience to the users and also the effort of whole team will be visible after successful app releases. For continuous successful app releases, we use some monitoring tools like in-house monitoring tool, firebase, etc. Under this section all monitoring tools are explained.

6. Stories

There are medium stories written by the team in this section. Learning is very important for the team like all developers and sharing is the most crucial step of the learning process. So, sharing is very valuable behavior that the team has. When this reading series are consumed, new member has general knowledge about fundamental development processes and also team learning experience.

7. Guideline

This section is codebase and architecture related part of the onboarding guide. We have a repository named android-guidelines on GitHub that we keep on contributing. This repository is created with architecture, package, code styles, resources naming guidelines and Architecture Decision Records(ADRs) which are followed during app development. When this section is finished, new player is ready to develop first end-to-end story :)

8 . Open Source Projects

This section is specifically added this guide, because the team is enthusiastic to learn and all members are free to share any learnings with open source project or a post that is mentioned at 6th section. We prefer to share our experiences, challenges and team approaches. With this section, importance of sharing is explained to new member.

That’s all! I have tried to explain our team onboarding guide. With this guide, we aim to prepare a new member for becoming a part of the team as soon as possible. Thanks for reading, I hope you found something useful, especially during these COVID-19 period. Because onboarding process is more important nowadays. 🙂 If you have any thoughts or comments about the post, I want to hear your words.

--

--