メルカリのEngineering Gateway Teamでエンジニアメンバーのオンボーディングなどを担当していたyui_tangです。
さて、これはとある研修発表の様子。実は今年6月、メルカリ・メルペイに入社する新卒プロダクトマネージャー(PM)メンバー総勢14名を対象に、1ヶ月間の研修「Engineering Training」を実施。そして、この日は研修を通じて学んだことの集大成を発表していたのです!
研修実施の経緯と目的は?
そんな発表会から遡ること約1ヶ月前の6月初頭。新卒PMメンバーたちは自信、不安、心配の入り乱れたさまざまな心境・面持ちで研修のスタートを迎えていました。
メルカリ・メルペイでは、入社者数の増加による現場チームでの受け入れ側の負担が増えるとともに、PMの現場配属前段階で一定のWebアプリケーションのエンジニアリング経験が求められる状況もありました。そこで、「第一線で活躍するために、エンジニアリングの経験がある・自分でつくったことがあるPMになる」を目的に、メルカリグループ初となる、新卒PMメンバーを対象としたWebアプリケーションのエンジニアリング研修を行うことになったのです。
この研修に先駆けて、5月には「Scrum Training」を実施。そこで現場ならではのチーム開発を経験したためか、エンジニアリング知識向上の必要性を痛感している新卒PMメンバーもちらほら。おかげで、結果的にはとてもポジティブに臨んでもらえたと感じています。
研修のコンテンツを決める
前述のとおり、新卒PMメンバーを対象にエンジニアリング研修を行うのはメルカリグループとして今回が初めて。つまり、研修内容すべてをイチからつくりあげていく必要がありました。研修を全面的に任された私は、さっそく研修の内容を考え、決定することに取り掛かりました。
大前提として、新卒PMメンバーたちの経験やバックグラウンドはそれぞれ異なります。当然ながら、エンジニアリングの知識・経験にもばらつきがありました。スクール形式の講義中心な研修内容では、それなりのエンジニアリング経験がある新卒PMメンバーにとって、退屈な時間になってしまうことは必然です。
もちろん、体系的に学んだほうがいい点はたくさんあります。しかし、今回の「Engineering Training」では、できるかぎり新卒PMメンバー自らがエンジニアリングを学んでいく経験をしてほしい。メルカリ・メルペイに入社してくれた新卒PMメンバーたちは、きっとその期待に応え、研修をやり遂げてくれると信じ、運営側はあくまでサポートのみに徹するスタイルを選択したのでした。
では、具体的にどんな研修内容になったのか? 今回の研修では、各自が「フリマアプリをつくる」をゴールとして、下記のような研修内容を実施しました。
・運営側がテンプレートとしてスケルトンアプリを用意
・各自がこれをベースにアプリケーションの実装を進める
・進める過程で、運営側でのコードレビューや、必要に応じたハンズオンや勉強会を随時実施
用意したスケルトンアプリは、次のような技術スタックで構成されています。
・Docker, Docker Compose
・Node.js, Express, MySQL
・Vue.js
また、開発はJIRAを用いたメルカリ・メルペイ同様のスクラム開発のプロセスや、GitHubのPull Requestでのコードレビュープロセスを踏襲したかたちとしました。
事前学習として、新卒PMメンバーたちはプログラミング学習サイト「Progate」でhtmlやcss、JavaScript、SQLなどを学んでいる状態で研修に参加してもらいました。
研修スタート! 日々成長していくメンバーたち
とはいえ、Webアプリケーションをつくるために必要な知識は広範囲。LinuxやHTTP通信、データベース、セキュリティ、UXなどの項目を理解しておかなければなりません。そこで、これらの知識は研修での課題を進めていくなかで、必要に応じて運営側から新卒メンバーへインプットしていきました。直面する課題解決に必要な知識として能動的に学べるため、運営側からのインプットをヒントに、新卒PMメンバーが進んで情報収集などを行っていました。
また、今回の研修では運営メンバーだけでなく、新卒PMメンバーの同期でもあるエンジニアメンバーも献身的にサポート。コードレビューでは、より良いコードにするためのアドバイスや、JavaScriptにあるライブラリの使い方を学ぶためのハンズオン(体験学習)などが内発的に行われていました。
研修が進むにつれ、直面した課題を解決するために役立ったドキュメントや、学んだ内容のサマリーをメンバー間でシェアするなど、ナレッジ共有もどんどん盛んになっていきました。新卒PMメンバー同士の集合知で、各メンバーのアウトプットの質がどんどんレベルアップしていく手応えも強まっていったのでした。
なかでも、もっとも大きな変化だったのが、個々人による開発プロセスの改善です。
開発現場で仕事をするためには、エンジニアリング知識はもちろん、全体的なプロジェクト進行を考えなければなりません。研修では、技術サポートとは別に、開発プロセスや仕事の進め方について「しっかりと仕様を決めずに機能実装を始めてしまった」「実装方法がわからないまま、見積もりを立ててしまった」「実際の工数と予定が大きく剥離してしまった」などの振り返りも実施。自分がエンジニアだった場合、どう改善すれば仕事を進めやすくなるのかを考える時間を設けたところ、週を追うごとに開発プロセスが改善されていったのでした。
自走できるPMとなるための足がかりとなった1ヶ月
そして、冒頭の研修発表につながります。
新卒PMメンバー全員が目標としていた完成度に到達できたわけではありませんが、多くの経験や学びを得た彼らの顔は、研修が始まる前の不安混じりな表情から大きく変化していました。
研修発表当日は、新卒PMメンバーそれぞれがデザインや機能、コード設計などにこだわりを持ってつくったアプリケーションと、そのなかでの学びをプレゼンしました。1ヶ月前までプログラミング経験がなかったメンバーもいたのに……。自ら実装したアプリケーションを実際にデモしながら発表する姿は、とても自信にあふれていました。
ゴール設計と、それを達成するための機会提供、行動に対するフィードバックを続ければ、自走して成長してくれるメンバーであると信じて実施した研修でした。その結果、想像以上に大きな成長を遂げたように感じています。
研修を運営する側としても本当に多くを学びながら、楽しく研修運営をすることができた1ヶ月でした。
3ヶ月の研修を終え、7月からすでに各配属先へアサインされているメンバーたちへ。少し遅くなりましたが、改めて、ようこそメルカリへ!!
-
坂本結衣(Yui Sakamoto)
メルカリWeb Platformチーム、ソフトウェアエンジニア。2014年の入社後、JP版メルカリ、US版メルカリそれぞれの開発に関わり、2018年よりエンジニアリングの組織課題に取り組むEngineering Operations Teamで、ソフトウェアエンジニアの採用・教育・イベント運営などを担当。2019年7月よりプロダクト開発チームへ異動。