Mobile Factory Tech Blog

技術好きな方へ!モバイルファクトリーのエンジニアたちが楽しい技術話をお届けします!

手を動かして、ちょくちょく話すモバファクの技術研修

「新しい環境に馴染んで活躍できるか?」 この不安を感じる人は少なくないと思います。そういった不安に対応できるよう、モバイルファクトリーでは、できる限り早くチームや会社に馴染んで強みを発揮できるようにオンボーディングを大切にしています。

この記事では、オンボーディングの一環の技術研修について紹介します。技術研修で何をしているか何を大切にしているか、運営の生の声を聞いてみました。

@kfly8: 今日はモバファクの技術研修について話していきたいと思います。よろしくおねがいします!
まずは、みんなが普段、どんなことをしているのか、自己紹介をお願いしたいです。

@dorapon2000: 今年3年目になるエンジニアです。駅奪取というソーシャルゲームの中の人をやっています。普段の業務は新機能開発、お問い合わせ調査、最近は負荷対策などで、フロントからバックエンド・インフラまで何でも触ります。去年の技術研修の担当もしていて、今年は2回目です。

@yokoi0803: 駅メモ!の機能開発、主にバックエンドを担当しているエンジニアです。最近はチームの開発パフォーマンスにも関心があって、その計測や改善ができるように動いてたりします。技術研修やメンター制度などで育成に関わらせてもらうことも多くて、技術研修の担当になるのは2回目です。

@kfly8: ありがとう!インタビュアーの私も簡単に自己紹介すると、普段は組織全体の開発パフォーマンスを良くしていけるように色々動いています。技術研修に関して言えば、きちっとした形に立ち上げて、かれこれ技術研修の運営に7年くらいしています。

この記事に出てくる人たち

  • @dorapon2000
    2020年新卒でモバイルファクトリーに入社。エンジニアとして駅奪取の運用・開発に関わる。最近は業務でパフォーマンス・チューニングをしており、手探りで原因を探して改善が数字に現れる体験に感動を覚えている。
  • @yokoi0803
    2018年新卒でモバイルファクトリーに入社。エンジニアとして駅メモ!の運用・開発に関わり、現在は駅メモ!開発チームでテックリードのポジション。
  • @kfly8
    ゲーム開発やプロダクトのマネジメントを経て、現在はエンジニアの人材開発、採用、技術広報などに取り組む。また、技術コミュティ好きをこじらせて、Japan Perl Associationの理事もやらせてもらっている。

モバファクの技術研修の概要

@kfly8: まず技術研修では何をしていますか?

@dorapon2000: まず技術研修の目的は、研修を行った新卒たちがすぐ実践に入れることを目的にしています。そのために、Webアプリケーションをフロントエンドからバックエンドまで一通り学びます。バックエンドは、Perl、Amon2、MySQLを、フロントエンドは、JavaScript、Vue.jsなどです。実際に手を動かして、コードレビューをしながら学んでもらってます。

@yokoi0803: そもそもですが、弊社にはいろんなチームがあり、チームによって技術スタックが異なるので、基本はチームごとに技術を学んでもらいます。
例えば、ブロックチェーンのチームであれば、フロントエンドもバックエンドもTypeScriptを利用しているので、そちらをチームで学んでもらいます。駅メモ!と駅奪取の場合は、技術スタックが近いので、合同で技術研修をしています。

tech.mobilefactory.jp

@kfly8: では、どのように技術研修を実施していますか?

@yokoi0803: 大前提として、弊社はフルリモートで働いています。例に漏れず、技術研修もフルリモートで実施していますね。基本の進め方は、教材をひとりひとり読み進めてもらっていますが、適宜コミュニケーションを挟むようにしています。

@dorapon2000: 1日の流れは、朝会で1日の予定や雑談やわからないことの相談などをするところから始まり、1日の終わりに気づいたことなどをワークログを書きおこしてもらい、1日を締めくくります。

@dorapon2000: 各技術トピックはだいたい2日程度で終わるようにカリキュラムを組んでいます。技術トピックは、例えば「Vue.jsのチュートリアル」「簡単なAPIサーバをフレームワークを使わずに作る」といったトピックです。各技術トピックごとにキックオフを行い、学ぶ意義やユースケースなどを最初に共有しています。各技術トピックが一通り終わったら座談会と言って、取り扱っている技術トピックに詳しい人と新人で話す場を用意して、わからないことを質問したり、教材から外れて、学び方などを聞くようなこともあります。

@dorapon2000: トータルして期間は、おおよそ1ヶ月くらいになります。

@yokoi0803: 慣れない会社で、リモートの環境で、新しいことを学ぶとき、新人が自発的にコミュニケーションを取るのは難しいと思っていて、研修担当としては、こちらから声かけをするように意識しています。具体的には、朝会や夕会や、新人が集まっているmeetにちょくちょく顔を出すようにしていますね。

@dorapon2000: リモートだと、エレベータや廊下ですれ違って偶然起こるコミュニケーションがない。リモートだと能動的に動かないとコミュニケーションが発生しない。だから、研修実施者側が起こすようにしていますね。

@kfly8: いい話。極端な話だけど、技術研修で学んだことは忘れる。けれど、技術研修でのコミュニケーションの体験は後々に残る。関係があれば、質問しあったりキャッチアップしていける。

技術研修の工夫、アクシデント

@kfly8: 技術研修の概要は掴めたと思うので、今度は深堀りをしていきますね。
まず、技術研修を実現するにあたり、工夫したポイントがあれば教えてください。

@dorapon2000: 昨年の研修でギリギリでの準備になってしまったこともあり、早め早めで準備するようにしましたね。いつまでに何が必要かなどを、きちんとしたので、教材の改善をより上げる余裕があるかなどの判断がついた。

@yokoi0803: dorapon2000の準備は動きやすくてよかったですねー。

@dorapon2000: 新人と社員が接触する機会が自然と増えるようにも工夫しました。例えば、Vue.jsに詳しい社内の人に協力をお願いして、新人の疑問の解消だったり、雑談をしてもらう場を設けました。

@kfly8: 新人に好評だったことがあれば教えていただけますか?

@dorapon2000: 手を動かして、アウトプットする研修が人気でしたね。特に、プロダクトの要件だけ与えられてどう作るのか自分で考えるWebサービス開発研修が特に人気。ある程度のレールはひきつつも自由度のある課題。

@yokoi0803: Webサービス開発を1から作る力を学んでもらいたかったので、その目的は達成できたかなと。

@yokoi0803: 技術トピックごとに学ぶと、技術トピック同士の繋がりは実感しにくい。より学習効率が上げるには、繋がりを理解する必要があると思ったんですよね。1から作る経験をしてもらって、バラバラだった知識を結びつけることができたと思います。

@dorapon2000: MySQLのハンズオンも手応えがあったかもしれない?

@yokoi0803: かもですね。インデックスやロックなどは、ドキュメントを読むだけでは分かりづらいが、実際に手を動かして、デッドロックなどわざと発生させることで、実感を持てた。試し方がわかったら、提示した内容以上に実験をしていましたね。

@kfly8: きちんと準備をする、技術トピック同士の関連性を掴む、実際に手を動かす、どれも大切ですね!
では、技術研修が思うように進まなかったことはありましたか?

@yokoi0803: 今年の技術研修実施中に一番インパクトが大きかったことは、リーダーがdorapon2000から私に切り替わったことですね。dorapon2000の所属チームで障害対応を優先する必要があって、仕方がないですが、急遽リソース、タスク調整をしつつ、技術研修のリーダーシップを取る必要があり大変だったかなと。

@yokoi0803: ただ、リーダーが替わるのは、新人の目線で見れば大きなイベントに見えそうなので、不安を作らないようにさらっとした形で共有しましたね。

@dorapon2000: リーダーを替えることができたのは、目的を達成するためには、今回、これが一番いい選択だと、みんな思えた。なので、迷いは少なかったですね。やってよかったし、やるべきことができたと思う。

@yokoi0803: 切り替わったタイミングで、残りの研修期間で、いつ何をすべきか計画が明確だったので、動きやすかったのもありますね。その辺、dorapon2000が準備をきちんとしてくれて助かりました。

@kfly8: 何年も技術研修に関わってるけれど、技術研修期間中にリーダーが替わったのは初めての出来事。2人とも素晴らしいリーダーシップだね。

さいごに

@kfly8: 今回の技術研修を通じて、2人の学びを教えてください!

@dorapon2000: 技術研修に関わったのは、私たち2人だけではなくて、色々な人に協力してもらった。協力してもらった人に、背景、目的、期待だったりを丁寧に伝える必要を感じた。今回、この辺がうまくいかなかったかなと。文章だけでなく同期的なコミュニケーションで質疑応答をしながら、やれると良いのかなと。

@yokoi0803: 自分も全く同じことを、頭に思い浮かべた。複数人で物事を進める時は、統一したゴールを思い浮かべられるように、すり合わせをしていくことが大切だと学びましたね。

@dorapon2000: 本とかよく出てくる話ですが、実際にうまくいかない場面に遭遇して、わかった気になっていたのかもしれないと思いました。

@kfly8: ぜひ最後にひとことを。

@dorapon2000: 技術研修は正直大変でしたけれど、新人が質問してきたことに対して、全て真摯に返してきたつもり。放り投げたことはないかなと。何か気になること、学びたいことなどあったら、気軽に質問してもらえると良いなと思っています!

@yokoi0803: 新人たちが技術研修で学んだことは、まだ基本的なことで、実際のプロダクト開発をしていくには、まだ身に着けないといけないことはありますし、優れたエンジニアになるにはもっともっとという話はあると思います。一緒に頑張っていきましょう!

@kfly8: いいね。
dorapon2000、yokoi0803 インタビューありがとうございました!


モバイルファクトリーでは、エンジニア採用を行っています。 カジュアル面談も実施していますのでぜひお気軽にご連絡ください。

カジュアル面談の一覧へ