こんにちは!ソウゾウの Software Engineer / Engineering Manager の @motokiee です。連載:メルカリShops 開発の裏側 Vol.2 の18日目を担当します。
ソウゾウではドキュメンテーションツールとしてNotionを活用しています。本記事では、Notionを活用したソウゾウ独自のオンボーディングコンテンツについて解説します。
はじめに
前述した通りソウゾウでは2021年1月の立ち上げ当初からNotionを利用しています。ローカル環境構築、インシデント対応時のオペレーション、機能開発時のDesign Docなど、エンジニアリングに関するドキュメントはNotionにまとめています。
メルカリShopsの開発を始めた当初から、CTOの@suguruが率先して開発手順、環境構築手順をまとめるようにしていたため、周囲のエンジニアも積極的にドキュメンテーションを行うようになっており、開発に必要なドキュメントがある程度充実している状態が作れていると感じています。
2021年の夏ごろから採用が加速してきたこともあり、エンジニアが増えていってもキャッチアップがすばやく進められるようなオンボーディングコンテンツの必要性を感じ、Notionの情報を整備してOnbording Questを作りました。
Onboarding Quest 3つの方針
Onboarding Quest は以下3つの方針で作成しました。
- 入社してすぐにやることがある状態を作る
- 明確なゴールを設定する
- 誰かに相談しやすい環境を整える
入社後に「何をやるべきかを探す」ところから始める環境もあると思いますが、ソウゾウでは、Valueの一つとしてMove Fast = 「まずはじめよう」を掲げているため、Onboarding Questに速やかに取り組んでもらい、明確なゴールに向かいながら、周囲とも関係値を構築していくことを重視しています。
ゴール
Onboarding Quest では2つのゴールを設定しています。
- スムーズにプロダクト開発をスタートできるようにする
- 5営業日以内に完了する
これらは取り組む人側のゴールであるのはもちろん、受け入れ側のゴールにもなっています。
1については計測は難しいのですが、このゴールに沿ってコンテンツの設計を行っています。
2の「5営業日」というのは、恣意的に決めた目標数字です。
これまで入社あるいは異動してきた約10人の方が Onboarding Quest に取り組んでくれましたが、5営業日以内に完了するというゴールは達成されたことがなく、実績としては1ヶ月弱となっています。
ですが、アカウント設定など環境構築の手続きが長引いてしまうことがあるなど、受け入れ側でまだまだ改善の余地がありそうです。
目標としての数字は見直していくことになると思いますが、適切な数字を見極めながらGo Boldな目標としてMove Fastな環境を構築するために改善を継続しています。
スムーズにプロダクト開発をスタートできるようにする
定性的で計測はむずかしいのですが、ソウゾウという会社、メルカリShopsというプロダクト、エンジニア組織の方向性などを理解し、コミュニケーション面では周囲からサポートを得やすい状態を自ら作って馴染んでいけるようにしたいと考えています。
例えば、CTO @suguru がエンジニア組織について話している動画の閲覧をオンボーディングタスクとして設定していたりします。
また、必要なミーティングやSlackのチャネルへの招待が漏れていることでコミュニケーションが取りづらい状況を意図せず作ってしまうこともあります。これらもOnboarding Questの中で、明確にタスクとして設定して漏れがないようにしています。
Slackで自己紹介を書き込むタスクも用意しています。新しい仲間が増えるのは会社にとって嬉しいことで歓迎したいと思っています。
どこにあいさつを書き込めばよいのか、そもそも書くべきなのか、など不必要に深く考えてしまわないよう、テンプレートを用意し、あえてタスクとして書き込んでもらうようにしています。
活用しているNotionの機能
Notionのデータベース機能による進捗のトラッキング
Onboarding Quest では、Notion の機能を活用して各項目の進捗をトラッキングできるようにしています。
各項目のタスクは1〜4つほどと多くないですし、厳密に進捗を管理するわけでもないのですが、達成感のためにNotionのデータベース機能を使ってプログレスバーを表示しています。
これは、大項目となるタスクにリレーションプロパティを設定し、完了した子項目の数から計算し表示を行っています。
この仕組みは、メルカリのEngineering Manager である @y-kazama さんに教えていただいたYouTubeチャンネルの Advanced Notion Rollups & Formulas for System Automation を参考にしました。
もともと個人のNotionで目標管理のために使っていたのですが、達成度合いが分かりやすく良いと感じ取り入れました。
Onboarding Quest という名前は、一つ一つクエスト形式で取り組めるこの仕組みから思いついたものです。
Synced blockによるタスクの説明内容の管理
各タスクの説明は Synced blocks を使って記載されています。Synced blocks とは、あるページの一部のコンテンツをブロックとし、そのブロックを別ページにも同期可能な状態で表示させることができる機能です。
Onboarding Questは個人のページに各自複製して運用するようにしているのですが、今後同時に複数人がOnboarding Questに取り組む機会も出てくると思っています。修正があった際でも元のページと同期できるようこの機能を使っています。
さいごに
メルカリShopsはまだリリースしてから1年もたたないプロダクトで、オンボーディング時に伝えるべき情報も随時変わっていくものだと考えています。
実際、Onboarding Questは随時アップデートされています。例えばSynced BlockはOnboarding Questに取り組んだエンジニアからのフィードバックをもらい、すぐに導入したりしています。
チーム構成が変わったり、ドメインの知識が深まっていったりしていくと取り組むべきコンテンツも変化していくと思いますが、Onboarding Questの方針は維持しながらMove Fastを体現しやすい環境を構築することを第一にアップデートを続けたいと思っています。
ソウゾウではメンバーを大募集中です。メルカリShopsの開発やソウゾウに興味を持った方がいればぜひご応募お待ちしています。詳しくは以下のページをご覧ください。
- Software Engineer
- Software Engineer, Site Reliability
- Software Engineer, Machine Learning
- Software Engineer, QA Test
- Software Engineer (Internship) – Mercari Group (※新卒採用に応募するにはまずインターンへの参加をお願いしています。)
またカジュアルに話だけ聞いてみたい、といった方も大歓迎です。こちらの申し込みフォームよりぜひご連絡ください。