技術

エンジニア向けオンボーディング(onboarding)

エンジニア向けのonboardingの話になります。

転職や新規案件でジョインしたときに、onboarding用のリポジトリやチケットがある会社があります。

個人的にはこれがあると非常に助かります。なので、私も自分がメインで進めている案件に新規参加者がジョインしてくれるときは、onboarding用のチケットを用意しています。

onboardingの目的

onboardingの目的は、新規参加者がシステムの概要を把握して、簡単なタスクはこなせるようになり、スムーズにチームに貢献できるようになることです。

必要なシステムリソースにはアクセスできるようになり、ドキュメント等はのありかを把握して、システムや案件固有の業務知識でわからないことがあっても、調べる手段を用意して自走できるようになってもらうことです。

私がonboardingをサクセスル場合、具体的なゴールとしては、簡単なPR(プルリクエスト)を出してもらうこととしています。

onboardingが用意されていると何が良いか

onboardingが用意されていると、新規参加者にとっては以下のメリットがあります。

  • することがない、何していいか分からないという状況を回避できる
  • 求められるいるものの中で、自分がわかること、わからないことの区分が明確になり、効率よくキャッチアップできる

また、参加してもらう側にとっても以下のメリットがあります。

  • チェックリスト形式にすれば、新規参加者の進捗を把握できる。
  • どこで止まっているのか? すべて終わって手が余っているのかなどが把握できる。

onboardingに書くこと

オンボーディングに書く内容は、案件やシステムによってはそれぞれだと思いますが、大体の項目は以下なります。

  • アカウント関連
  • 環境構築
  • 技術スタック一覧
  • ドキュメント一覧
  • 簡単なタスク

チケットにチェック形式で記載して、実際に終わった項目はチェックしてもらい、新規参加者の状況把握をできるようにします。

アカウント

Github, AWS, GoogleWorkspace、チケットシステムなどアクセスできるべき箇所をリストアップして、一通りアクセスできるようにしてもらいます。

業務を進めているときに、ここのリンクがみれない、システムのログインパスワードがわからないということがあるのは新規参加者にとってはストレスになります。

この問題の解消のためにもコミュニケーションコストが生じます。

そういった事態を避けるために、onboarding時に必要なリソースにはすべて問題なくアクセスできるようにしておきます。

環境構築

新規参加者のPCに環境構築して、開発できるまでの手順、確認、コマンドなどを記載しておきます。

ツールなど細かく指定すればするほど、環境構築はスムーズに行きますが、エディタなどまでガチガチしばるのは良くありません。仮想環境ぐらいまでは指定されているonboardingが多いように思います。

そのシステム固有の事情で、これがないと業務がこなせないというマイナーなツールなどは、onboardingに入れるべきです。

技術スタック一覧

必要な技術スタック、フレームワークなどの一覧を用意し、聞いたことがないもの、使ったことがないものは少し自己学習してもらうようにしています。

案件を進めている時に、聞いたことない技術が出てきたといったことをなくすようにします。

ドキュメント

デザインドックなどの各種ドキュメント、チーム開発のルールなどのドキュメントを用意して、一通り見てもらうようにします。

簡単なタスク

最後に簡単なお題を用意し、チケットを立ててPRを出してもらうようにします。

これで、システムの概要を把握してPRを出すという一連の流れを経験したことになります。なので、この後、スムーズにタスクアサインできるようになります。

まとめ

以上、エンジニア向けのonboardingについてでした。

onboardingは用意するのが少し面倒くさいですが、ジョインしてくれた人にとって役立つものですし、ジョインしてくれた後、自分の工数削減にも役立ちます。

なので、きっちりと用意しておきたいものです。