こんにちは!メルカリ Engineering Office チームの@aisakaです。
私達のチームは「全てのエンジニアに最高の従業員体験を」というミッションを元に、様々な活動を行なっています。私はその中でも、よりよいOnboarding体験を提供していくための戦略や仕組みづくりに携わっています。
一般的にOnboardingとは、新卒・中途採用などで新しく採用した人材に、企業カルチャーや取り組む業務に慣れてもらい、いち早く本人の力を発揮できる状態にするプロセスのことを指します。
良いOnboardingは、入社してから成果を出すまでの立ち上がりの期間を短縮し、新入社員の定着率をあげる効果があるため、メルカリでは非常に重要視をしています。
メルカリでは毎月多くのエンジニアがリモートで入社しており、中には海外から働いているメンバーもいます。
また、先日のプレスリリースで発表がありましたが、メルカリではインド開発拠点の設立を予定しており、多様なメンバーが時差のある環境で入社をするケースが増えてきます。
※メルカリで実施している、海外からの面接と入社までの全体的な体験を紹介した記事→Interviewing and Onboarding at Mercari From Overseas With an 8 hour Time Difference
異なるタイムゾーン、様々なバックグラウンドのメンバーの受け入れの際には、リモートOnboardingの課題が大きくなってくるため、メルカリでは自分のペースでそれぞれがOnboardingを進められるように工夫をしています。
本記事では、メルカリが考える理想のOnboardingや、実際のコンテンツ、それを支える仕組みについて紹介していきます!
Engineering Onboardingの理想のかたち
一般的に、人は新しい環境に飛び込んだときや役割が変わったときに、最初は新鮮で楽しく感じるものですが、すぐにその後自分が今までいた環境との違いから不安な心理状態になります。これを一般的にカルチャーショック期と呼ばれています。
いち早く新しい環境に定着、活躍できるように、メルカリのエンジニア組織では、このカルチャーショック期からの回復を早め、適応期に入れるようなサポートを適切なコストで提供できるOnboardingの実現を目指しています。
リモート Onboardingの難しさ
メルカリもそうですが、これまで一般的に、企業文化はオフィスの中で対面でのコミュニケーションをベースとした環境で働く中で自然と育まれ、構築されてきました。異なるバックグラウンドの人同士で働く際にも、ビジョンや働く場所を共有することは、お互いを理解し、親密な関係を築くために非常に有効でした。
しかし、リモートワークという環境下では対面でのコミュニケーションに依存した関係づくりができません。隣のメンバーと軽く会話する、コーヒーブレイクなどで雑談するといった、ちょっとした会話を生むことが自然と起こらないのです。
特に入社してすぐのOnboarding期間というは、会社の第一印象が決まってしまう非常に大切な期間です。対面のコミュニケーションに依存せず、人間関係を作り、いち早く環境に慣れることは新入社員にとっても、受け入れ側にとっても大きなチャレンジです。
さらにメルカリのエンジニア組織の場合は、半分以上が海外籍メンバーで、中には海外から働かれている方もいます。そのため、異なるタイムゾーンや文化を持った多様な人が、リモート環境下で必要な情報をキャッチアップする難しさがありました。
メルカリのEngineering Onboardingについて
リモートOnboardingのチャレンジを乗り越えて、理想のOnboardingを提供するために、メルカリで実施している新入社員向けEngineering Onboardingの構成とコンテンツについて紹介していきます!
前章でも触れたように異なるタイムゾーンで働くメンバーもいるため、基本的には一人ひとりが自分のペースで、最新のOnboarding資料を読み、必要なタスクを完了できるような仕組みにしています。
構成
メルカリの新入社員向けのEngineering Onboardingは下記のように4つのプログラムで構成されています。
エンジニア以外も含む新入社員全体を対象としたCompany Onboardingを皮切りに、Engineering組織共通の情報をインプットするEngineer Common Onboarding、各技術領域に特化したTechnical Onboarding、そして自分がアサインされるチームやメンターとのTeam Onboardingが実施されます。
今回はエンジニアのリモートOnboardingに焦点を当てているため、全社的なOnboardingについては割愛し、エンジニア共通で実施しているEngineer Common Onboardingと技術領域ごとのTechnical Onboardingの内容について紹介していきます!
内容
Engineer Common Onboarding
Engineer Common Onboardinでは、Engineer新入社員に共通で実施するプログラムを提供しています。
Engineer共通のOnboarding Tasks
GitHubの設定やセキュリティ関連の設定やe-learningなど、エンジニア組織で共通で実施してもらいたい知識の習得や開発環境を整えるタスクをJIRA Ticketsで提供しています。
Engineering Orientation
エンジニア組織のVisionや開発スタイルからメルカリでのキャリア等のエンジニアとして働くうえで知っておいて欲しい情報をお伝えするEngineering Orientaitonを設けています。Orientationの最後にはQ&Aタイムを多めにとっていて、新入社員の方が何でも気軽に質問ができるよう工夫しています。
Casual Chat with Leadership
CTOやDistinguished Engineerといったメルカリを代表するリーダーと直接会話をし、エンジニア組織のカルチャーを肌で感じてもらい、コミュニケーションをより円滑にするための雑談タイムを設けています。リーダーシップのプライベートな話から、エンジニア組織の今後の展望など真面目な話まで、なんでも雑談できるようにしています。
Technical Onboarding
Technical Onboardingについては、BackendとClientの2種類のプログラムを実施しています。
Backend Onboarding
メルカリを支えるBackendは2017年ごろから、アーキテクチャをモノリスからMicroservices化へと移行し、現在4年になります。
メルカリは機能のまとまりの単位をドメインと考えており、ドメインごとにマイクロサービスを作成しています。
Microservices化の要件には、歴史的な背景や過去のアーキテクチャの知識、整合性の取れたDB設計などが求められます。そのため、Backendエンジニアは単に担当するドメインの知識だけでなく、幅広い知識を最初のOnboarding期間でキャッチアップする必要があります。
メルカリのBackend onboardingでは、インフラからBackend、Client側まで、開発に必要な知識をOnboardingポータルに集約し、いつでも最新の情報にアクセスして調べることができるようにしています。
Client Onboarding
メルカリのアプリやWebの開発を支えるClient側には、iOS / Android / Web Frontendがあります。
Client onboardingでは開発環境のセットアップや、アーキテクチャ、プロジェクトの概要など、仕事を始める上で必要な知識を最初に効率的にキャッチアップできるように、必要な資料を集約しています。こうすることで、新入社員が効率的に正しい情報にアクセスし、必要な知識やスキルを見つけられるようにしています。
Engineering Onboardingを支える仕組み
上記のようなOnboardingサポートを提供していくためは、Onboardingを大事にしようというカルチャーを生み出す仕掛けが不可欠です。
ここでは、デリバリーの仕組みと資料をアップデートし続けるために取り組んでいる仕組みを紹介していきます。
デリバリーの仕組み
OnboardingのChecklistというと、簡単なものだとGoogle DocsやSpreadsheetでまとめたものを想像するかと思います。こういったものは簡単に作れてアップデートもできるというメリットがありますが、同時に資料が古くなりやすかったり、進捗を把握できないというデメリットもあります。メルカリの場合は、複数のChecklistを参照しなければならなかったり、新入社員のChecklistの完了の進捗を把握することができなかったり等、様々な課題がありました。
そこでエンジニア組織では、入社前に新入社員のタイプに合わせたChecklistのタスクを事前にJIRA Ticketsで払い出し、新入社員も受け入れ側も一つ一つのタスクをトラッキングできるような仕組みを導入しています。
また、JIRAは普段の開発業務のプロジェクト管理で利用していること、エンジニアにとってポピュラーなツールのためキャッチアップコストのかからないという2点を考慮し、ツールをJIRAにて提供しています。
ドキュメントをアップデートし続けるカルチャーづくり
こうしたドキュメントでのOnboardingを持続可能にしていくためには、ドキュメントをアップデートする仕組みがとても大切です。
特にOnboardingコンテンツは頻繁に使われるものなので、内容が古くならないように定期的なメンテナンスをする必要があります。
メルカリでは、Onboardingの文書化に貢献してくれるエンジニアを半年ごとに公募で募集し、有志メンバーで資料のアップデートや作成を行っています。また、新入社員の方も自身のOnboardingの過程で、情報のアップデートや文書化へのコントリビューションを奨励しています。
トラッキングしている指標
Onboardingの資料が使われているかをはかるため、MAU(Monthly Active Users)とPageviewsをみて評価しています。
安定して利用されているか、作ったページが見られているかをトラッキングすることで、Onboarding資料の利用率を評価しています。
Example) Backend onboarding Dashboard
支えてくれるEM、エンジニアメンバーたち
最後になりますが、こうした仕組みを実現するためには、現場のEMやエンジニアメンバーたちのサポートが不可欠です。
チームでの仕事を超えて、Onboardingの文書化に貢献してくれるメンバーのお陰でメルカリのOnboardingは成り立っています。
さいごに
メルカリグループでは、積極的にエンジニアを採用しています。ご興味ある方、ぜひご連絡お待ちしております!
中途採用
Software Engineer – Mercari
Software Engineer, Backend – Mercari
Software Engineer, Backend Foundation (PHP/MySQL) – Mercari
Software Engineer, iOS – Mercari
Software Engineer, Android – Mercari
Software Engineer, Frontend – Mercari
Engineering Manager, Site Reliability – Mercari
Software Engineer, Platform Group – Mercari
Software Engineer, Machine Learning & Search – Mercari
Software Engineer, Search Platform Development – Mercari
新卒採用
Software Engineer (New Graduate Position) – Mercari Group