ギックスの未経験データエンジニアオンボーディングについて
- TAG : data engineer | onboarding | オンボーディング | ブログ強化期間2023 | 未経験エンジニア
- POSTED : 2023.12.19 09:00
f t p h l
ギックスのデータエンジニアの緒方です。
ギックスではデータエンジニア志望者向けのオンボーディングプログラムが用意されています。
この記事ではどんなオンボーディングをしているかをご紹介します。
目次
オンボーディングを作ったきっかけ
昨年、エンジニアとしての経験はないがデータエンジニアリングに携わる仕事がしたい、という方が二人入社することになりました。
分析チームのほうはもともと研修があったものの、データエンジニア志望者向けの研修が存在していなかったため急遽作ることになりました。
当時データエンジニアリングについて社内で詳しいのが僕だったため、プロジェクトを回す傍らで作りました。
またオンボーディングは一度作って終わりではなく、オンボーディング実施時や世の中の流れを見てその後も内容を更新しています。
オンボーディングの目的
ギックスではオンボーディングの目的を「プロジェクトでチームに貢献できるようになること」と定義しています。
なんらかのスキルを身につけることはこの目的を達成するための手段なので別途目標として定義しています。
オンボーディングの目標
目標は大きく分けて4つの項目があります。
マインドセット
自走力やチームワーク、行動力などのカテゴリに分かれています。具体的には「自力で不明な点を調べることができる」や「自力で調べることができない時に人に質問することができる」などです。ギックスでは能動的に働くことが求められるため、オンボーディングにおいてもこの点を重視しています。
技術力
Python や GCP など具体的な技術を扱います。詳しい内容は後述します。
コミュニケーション
ドキュメンテーションや説明の仕方を扱います。これはこの研修を作った僕の考えが特に強く反映されているところです。
例えば「実装内容を正確に説明できる」という目標があります。「正確に」という部分は特に厳しく見ていて、「列名」と「列」を区別することなど、似たような言葉でも正確に使い分けることを求めています。
エンジニアあるあるとしては Git と GitHub を混同して使っている人に対して、それは Git の機能じゃなくて GitHub の機能なんだよな〜、と思うことがありますが、そういった誤用を徹底的に潰すようなイメージです。
ギックスでデータエンジニアとして働く場合、お客様とコミュニケーションする中で仕様を正確に決める必要があります。そのためエンジニアの技術と直接関係はないもののコミュニケーションは重要視しています。
ほかにもアーキテクチャ図を書いてもらったり説明の仕方について学んでいただきます。
マネジメント
開発の流れを把握していただいたり、自分自身のタスクは自分で管理していただきます。
オンボーディングの流れ
ギックスでは以下の流れでオンボーディングを実施しています。
- オンボーディングについての説明を受ける。
- 習熟度テストに目を通す。
- 習熟度テストに解答するために学習コンテンツに目を通す。
- 習熟度テストを好きな順番で解いていく。
- 教官がレビューする。
- オンボーディングの内容を改善する。
オンボーディングについての説明
どんな流れで進めていくか教官から説明します。
また 1on1 のミーティングを週一で設けて養成者の困りごとを解決することなども説明します。
習熟度テスト
後述するようにオンボーディングの大きな項目として簡単なデータ処理基盤の構築があります。基本的にはこの課題を解決するために習熟度テストが細かく分かれています。
習熟度テストがすべて解答できたらオンボーディングの基本は完了です。
学習コンテンツ
習熟度テストに解答するために習熟度テストに対応するような学習コンテンツがあります。
対応すると言っても塾が受験生に提供するようなきめ細やかなコンテンツではなく、GCP の公式ドキュメントへのリンクが貼ってあったり、この本を読んでね、と書いてあったりと学習コンテンツはざっくりとしていることが多いです。
そのようにしている理由は以下の通りです。
- オンボーディングの更新の手間を省くため。
- オンボーディングを作成しているのは普段なんらかのプロジェクトに入っているメンバーです。日頃忙しく働いているため、オンボーディングのためだけに時間を使うことが実質できません。細かく作成してしまうとそれ自体時間がかかる上にメンテナンスのコストも高くつきます。特に技術は流行りが移るのが早いため、なるべくドキュメントや本を参照します。
- 自走力を身に着けてもらうため。
- 必要な情報はなるべく自分で探せるようになったほうが後々活躍しやすくなることは間違いないでしょう。あえて公式ドキュメントや本など大きく情報を渡すことで自分で信頼できるソースから必要な情報を取る感覚を身に着けていただきます。
- どのようなドキュメントを参照すればよいか自然と身に着けてもらうため。
- これは非常に重要な観点です。手間を省き自走力を身に着けてもらうだけなら完全に学習コンテンツをなくすのが合理的でしょう。ただそうすると信頼性の低いソースを参照するエンジニアになってしまう可能性があります。なるべく公式ドキュメントや本など信頼性の高い情報を参照することを当たり前にするために、最低限どんな情報を参照するかは明示しています。
教官によるレビュー
ソースコードや作成してもらったスライドなどをレビューします。習熟度テストに正解するだけでは身につかない細かいことを身に着けていただきます。
オンボーディングの内容の改善
オンボーディングをする中でコンテンツとしてわかりにくい内容などを養成者に教えていただき、教官が改善します。
このプロセスを含むことでオンボーディングをすればするほど内容が改善されていきます。
オンボーディングの内容
先述の目標を前提とし、上記の流れでオンボーディングを進めていきます。
分析研修
データエンジニアリングの研修に入る前にまずは分析チームの簡易版の研修を受けていただいています。
意図としては次のとおりです。
- 自分の適性が分析にあるかエンジニアリングにあるかの判断材料にすること
- 実際に昨年入社された方も、データエンジニアになりたいか決めきっておらず分析にも興味があるという方がいました。研修で雰囲気を掴むことでキャリアのズレを生じにくくします。
- データ基盤を作った際にどのように使われるかを把握すること。
- 最終的にどんな使われ方をするか知っておくことはデータ基盤を作る時に役立ちます。
データ処理基盤構築
簡単なデータ処理基盤を構築してもらいます。
内容としては次のようなものです。
- GCS にデータが置かれたことをトリガーに BigQuery のテーブルにデータを取り込むデータ処理基盤を作成する。
作成する際に以下の課題があります。
- データはやや汚いのでそのままでは BigQuery に取り込むことができない。
- したがって Python 等を駆使して前処理をしてから BigQuery に取り込ませます。
- この基盤は最終的に terraform で管理しなければならない。
- 運用を見越してログを出力しなければならない。
- どんな基盤になったか説明しなければならない。
上記のような課題を達成するためにオンボーディングの目標をすべて達成する必要があります。
実際に手を動かしつつ、毎日レビューも入れながら進めていくため、実践的に力をつけていくことができます。
実務
オンボーディングに際し、普段は手を付けていない社内の課題を解決します。
実際に、ある社内プロダクトのデータ処理基盤を刷新することで、その特定の領域だけではありますが、なんと 99% 程度のコストカットに成功した例があります。金額的にも十分なコストカットに繋がりました。
この成功事例はオンボーディングの内容がものすごくマッチしていたこともあるかもしれませんが、研修を受けた方々の努力も素晴らしく、優秀かつ自分で学んでいける方であれば短期間で活躍できるものなのだと改めて感じさせられました。
終わりに
データエンジニアの方々とお話していると、データエンジニアが採用できない、人手が不足しているという話を頻繁に聞きます。
おそらくデータエンジニアという肩書ですでに働いている方は、それなりに組織に溶け込みつつ相応の報酬をもらっていて転職する必要性が小さい方が多いのだと思います。
そのためデータエンジニアリング界隈全体で“非データエンジニアを採用してデータエンジニアに育てる”ことが必要になっているのではないでしょうか。
過去の例を見ても、もともと非エンジニアで入社してきた方でも学習意欲が高ければ十分に活躍できます。今までオンボーディングを受けた方は3人いますが、現在全員活躍していただいています。
データエンジニアリングの経験は無いけど本気でデータエンジニアになりたい、という方はぜひギックスに応募してください。心からお待ちしております。
⇒ 採用情報はコチラから
f t p h l