概要
こんにちは、サーバーサイドエンジニアのM-Yamashita01です。
今回は、中途入社した開発メンバーが仕事を進められるようになるまでに、どのようにキャッチアップしていったのかの話となります。
近年の転職市場では、IT業界も含めた求人数が増加している傾向にあり、市場が活発になってきています。このため新卒の方だけでなく、中途入社の方に対する教育も重要となってきています。(参照:【2022年|中途採用市場】全15業界の最新状況を解説)
弊社では新卒入社だけではなく、中途入社の方向けの教育プランも用意しています。この教育を受け、チームメンバーと一緒に活動していくことで、開発メンバーとして成長していくことができます。
この記事では、その教育のなかでどんなことがあったのか、教育を受けた後どんなことを行っていったのかをお伝えします。
なお、新卒入社の教育については、アイキューブドシステムズの新米エンジニアが配属後3ヶ月を振り返りながら新卒研修を紹介や新卒でいきなりリモートワークってどんな感じなの?と気になる方への記事で紹介しています。ぜひご覧ください。
この記事で伝えたいこと
- 中途入社メンバーへの教育プラン
- 受けた教育がどのように仕事に役立っているか
前提
この記事では、私の中途入社時の経験を基にしているため、私の経歴とスキルについて簡単に記載します。
新卒で製造業の企業に入社し、7年間組み込みエンジニアとして働いていました。そこから2020年4月1日に弊社のサーバーサイドメンバーとして入社し、今年で3年目となります。
また転職する際、独学でポートフォリオを作成していました。このポートフォリオでは、フロントエンドにVue.js、バックエンドにRuby on Rails、IaCによるクラウドの構築、CI/CD構築をしています。
入社後の教育について
サーバーサイドの中途入社メンバーに対しては、以下の教育プランが用意されています。
1. 部署紹介、弊社のプロダクトについての説明
2. Ruby on Rails チュートリアル実施
3. MDMコマンド演習
私の入社直後から本記事の執筆日に至るまで、弊社は基本的にフルリモートワークであるため、この教育はリモートワーク環境下で行われています。
教育期間中は、新卒・中途入社問わず開発メンバーがサポートにつきます。そのため疑問点や進め方について相談できます。
また新入社員用のチャットグループが作られるため、そこで相談したりミーティングしたりできます。入社したばかりの私は分からないことが多くあったため非常に助かりました。
このサポートがある中で、プロダクトについての説明を受けた後、Ruby on Railsチュートリアル実施のステップに移りました。当時の私は個人で触っただけだったので、この学習の機会をフル活用しRuby on Railsについて復習できました。
なお、このステップは必須ではなく、本人の希望があればスキップして次の教育を受けることも可能です。
MDMコマンド演習
Railsチュートリアル完了後、MDMコマンド演習に移りました。この演習では以下3つの課題が用意されています。また各課題ごとに、サポートに入っている開発メンバーからのレビューも入ります。
1. CLOMOでのMDMコマンド発行からコマンド実行完了までの流れの把握
2. MDM Protocol Referenceを使用したMDMコマンドのリクエストとレスポンスの調査
3. 新規MDMコマンドの実装
これらの課題の内容や体験について、それぞれ説明します。
CLOMOでのMDMコマンド発行からコマンド実行完了までの流れの把握
CLOMOでは複数のサーバーやサービスが連携して動いています。この連携によりMDMコマンドを実行したり、デバイスを制御したりしています。
最初の課題は、これらの連携やCLOMO全体像、内部のコードについて把握し、コマンド発行から実行完了までどう動いているかを理解することとなります。
私が実施したときは、弊社で採用しているMiroを使って全体像を表現したり、サービス間の連携を図解化しフローに落とし込むことで、各挙動を理解していきました。
またレビューでは、誤っている図やフローへの指摘はもちろん、良かった点や補足情報、今のCLOMOではこういった問題を抱えていてどう変わろうとしているといったことも教えてもらえました。教育プランだけでは分からない情報をレビューで伝えていただけるのはすごくありがたいと感じました。
MDM Protocol Referenceを使用したMDMコマンドのリクエストとレスポンスの調査
次の課題は、Appleが提供しているDevice Managementのリファレンスを使用して、MDMコマンドの内容およびリクエストやレスポンスを調査する課題です。
私の課題実施時では、CLOMOに実装されているDeviceInformationというMDMコマンドを調査することとなりました。このDeviceInformationコマンドは、Get Device Informationとしてリファレンスに掲載されています。このリファレンスをもとに、どんなリクエストやレスポンスをデバイスに対して送受信しているのかを調査しました。また、CLOMOのログやコードから実際にどんな値が入っているのかも確認しました。
この調査で得た知見は、その後の仕事を進めるうえで、非常に役に立つものとなりました。具体的には、この知見を活用しコマンド送受信時に特定の値を渡したり使用したりすることで、CLOMOの新しい機能に組み込むことができました。
新規MDMコマンドの実装
この課題ではCLOMOに新規MDMコマンドを実装します。MDMコマンド演習であるためリリースまでは行いませんが、ローカルで実装し、開発用のAKS上でコマンドを実行するまでを行います。
また、この課題の対応においては、実際の業務のフローの流れに沿って、事前調査、設計書作成、実装、Pull Request作成、開発サーバーへのデプロイ・動作確認を行います。各段階で開発メンバーからのレビューも入ります。
私が課題に取り組んだときでは、デバイスを再起動するMDMコマンド(RestartDevice)を実装することでした。この実装にあたり、これまでの演習や既存のコマンド実装、実装対象のMDMコマンドのリファレンス(Restart a Device)を参考にしながら、以下のような設計書を作成し、実装しました。
実際に手を動かしていくと、設計書が主観的になってしまってユーザー目線で書けていなかったり、事前調査で発見できていなかったコードの影響を受けたりと、苦労した点が多々ありました。
そういった問題に対しては、サポートに入っている開発メンバーにチャットで都度質問したり、画面共有しながらペアプロのような形で問題解決したりすることで対応できました。リモートワークでの作業でしたが、開発メンバーから気軽にチャットで声をかけていただいたおかげで、一人で抱え込まずに進められました。
教育終了後の仕事
教育を受けた後は、チームに配属され仕事をしていきます。サーバーサイドメンバーで入社した場合は、基本的には、機能改善や不具合を修正するCSEチームに配属となります。このチームでさらにCLOMOを知り、経験を積んでいくことになります。
CSEチームではスクラムを採用していますが、当時の私はスクラムを含め知らないことが多くありました。ですが、他のメンバーから優しく丁寧に教えていただけたおかげで、チームメンバーの1人として成長していくことができました。
また、不具合の課題対応やトラブルシューティングの担当を割り振られた際、教育中に描いたフローやCLOMO全体像の図があったおかげで、どの部分で問題が起きているのかという切り分けをスムーズに行うことができました。
まとめ
今回の記事では、中途入社した開発メンバーが仕事を進められるようになるまでのキャッチアップについて説明しました。
弊社では、新入社員がもっとスムーズに仕事に入れるように、教育プランを見直したり、新入社員が当時困っていたことをヒアリングしながら改良を検討したりしています。
最後に、弊社では採用活動を実施しています。皆さまのご応募をお待ちしております。
新卒採用:https://www.i3-systems.com/new-graduates/
キャリア採用:https://www.i3-systems.com/careers/