プロジェクト間交換留学へチャレンジ

こんにちは。テクノロジー本部エンジニアリング統括部の相川、鵜飼、鈴木です。
本日は昨年夏に我々の組織で実施した「プロジェクト間交換留学」について紹介させていただきます。

プロジェクト間交換留学とは?

私たちの組織では、現在複数のプロダクトの開発を行っており、それぞれのチームにエンジニアが所属しています。
普段から勉強会やチームを跨いだ雑談タイムを設けることなどでコミュニケーションを増やす工夫はしていますが、チームを跨いだ技術ナレッジの共有や受け入れ体制の整備などに課題がありました。

そこで、別プロジェクトに留学という形でジョインする「プロジェクト間交換留学」という施策を、2023年8月1日から9月15日の期間で実施しました。
今回は、弊社のサービスである、HR forecaster、HiPro Direct、Salariesを開発しているチームからそれぞれ1名ずつが交換留学に参加しています。 この記事では、留学で行ったことや参加した感想を、3名の参加者それぞれの視点で紹介していきます。

相川さん(HR forecaster → Salaries)

交換留学を実施していた当時、HR forecasterでフロントエンドを担当していました、相川です。
私は今回の交換留学でSalariesに留学をしました。

交換留学で行ったこと

交換留学の期間中は、Salariesでフロントエンドを中心に、開発業務を行なっておりました。
Salariesでは、スクラム開発を行っていましたので、他のエンジニアと同様にスクラムイベントに参加したり、製品への機能追加を行っていました。

留学前の所属プロジェクトでは、Vue.jsをメインとしたフロントエンド開発を行っていましたが、SalariesはReact.jsを使用しており、元のプロジェクトでは経験していなかった新たな技術スタックでの開発経験をすることを1つ目の狙いとして交換留学をしました。
また、他のチームと比較すると、SalariesはFindy team+を用いたチームの開発パフォーマンス管理や、QA体制の充実に力を入れており、これらの知見を本来の所属プロジェクトに還元することも今回の留学の狙いの一つでした。

実際に留学してみて

交換留学の狙いの1つ目については、概ね達成することができました。単純に技術スタックの違いを経験するのみでなく、ディレクトリ構成の違いや、gitやブランチの運用など、プロジェクト間の違いを関することができました。
自分は新卒入社時から留学前のプロジェクトにしか所属したことがなく、開発体制の違いに戸惑うこともありましたが、留学先プロジェクトの方々が受け入れ準備を行なってくださっていたこともあり、業務を遂行することができました。少し新卒配属時に戻った気分でしたね。異なる技術スタックでの開発業務を通して、エンジニアとしての個人的な経験値は大きく向上したと思います。

本来の所属プロジェクトに還元できそうだと思った点は、チーム内運用の面です。本来の所属プロジェクトと留学先のプロジェクトでは、どちらもスクラム開発を採用していましたが、スクラム開発の進め方もプロジェクトによって異なることを経験しました。
スクラム開発では、一般的にスクラムイベントと呼ばれる定期ミーティングが一定間隔で実施されます。所属プロジェクトと留学先ではどちらのプロジェクトでもスクラムイベントの種類に大きな違いはありませんでしたが、それぞれのイベントの中で取り扱う内容の粒度や量が異なっていました。
また、スクラム開発では一定の期間(スプリント)を設定し、その期間単位で開発&リリースを繰り返するのが一般的です。所属プロジェクトと留学先ではスプリントの長さが異なっていたため、これらの差が生じていると感じました。
具体的には、所属プロジェクトのスプリントは2週間で、2週間の中でスクラムイベントを実施します。リリース頻度も2週間ごとでした。一方で、留学先では、スプリントの長さは1週間で、リリースは4週間ごととなっていました。
これはどちらも一長一短で、所属プロジェクトの方であれば、リリース頻度が高くすることができます。スクラムイベントの実施も2週間の中で実施すれば良いので、スケジュールに比較的余裕が生まれます。一方で留学先プロジェクトでは、リリース頻度が4週に一度となりますが、この期間の中にQA期間を長めに取ることができ、これが品質の向上につながってきます。スプリントの長さは1週間でしたので、進捗管理がより徹底されている印象で、遅れが出た際のリスケジュールが早い段階で実施できる印象でした。
これらの差分をもとに、双方のチームでスクラム運用について改善意見を提起することができたのは今回の留学に携わっていただいた両プロジェクトに価値をうまく還元できたと感じています。

また、留学先のプロジェクトでは、弊社の開発組織の中では早い段階でFindy社のFindy Team+の活用を推進し、チームの開発パフォーマンス管理を行なっており、それをスプリントの中でうまく活用されていた印象がありました。所属プロジェクトに戻った際は、開発パフォーマンスの運用について知見を共有することができ、良い形で今回の留学の狙いを達することができたと感じています。

交換留学を終えて

他の留学を行った方もそうだとは思いますが、やはり1ヶ月の留学では、キャッチアップに一杯一杯になる部分も多く、留学前から不安感はありました。しかし、私の場合はサポートしていただける環境づくりを用意していただいていたので、一定の業務を行うことができたと思います。もう少し長く留学できれば、よりエンジニアとして貢献もできたかと思いますが、個人的な交換留学の狙いとしては、ナレッジの共有という部分が大きかったため、十分成果は得られたと感じています。
また、新卒からプロジェクトの変更を経験したことがない自分にとっては、他のプロジェクトに移動するという経験は初めてでした。このプロジェクトを移動するということ自体に不安がありましたが、今回の交換留学を経て、環境を変えて自分の幅を広げるということが怖いものではないと認識できる良い機会になったと思います。

鵜飼さん(HiPro Direct → HR forecaster)

普段は HiPro Direct でフロントエンドを担当している鵜飼です。
今回、私は HR forecaster の機能の1つであるヒアリングノートに留学しました。

交換留学で行ったこと

私が留学で行ったことは以下になります。

  • スクラムイベントへの参加
  • 各種ミーティングへの参加
  • イシューの担当
    • GitHub Actions の CI の実行時間の短縮
    • Open API の修正
    • Next.js の App Directory の調査 等

ミーティングの種類やスクラムイベントの実施方法等が HiPro Direct と異なる部分はありましたが、普段と大きな変わりなく業務を行いました。
HiPro Direct では触れる機会が少ない、Open API や GitHub Actions の実装ができたことは、良い経験となりました。

HiPro Direct と比較してみて

以下は、HiPro Direct と HR forecaster を比較して感じたことです。

同じ点

  • 2週間を1スプリントとしてスクラムを回している。
  • コミュニケーションツールとしてボイスチャットツールをメインで使用している。
  • エンジニア、デザイナー、企画の距離が近い。
  • 開発のしやすさ。人の良さ。

異なる点

  • スクラムイベント
    • レトロスペクティブ (振り返り)
      • HiPro Direct は Good/Keep/Problem/Try をあげていく手法で行っているが、HR forecaster は闇鍋や FDL (Fun Done Learn) 等、さまざまな手法で実施していた。
    • その他にも、各スクラムイベントの実施方法に少しずつ異なる点があった。
  • 仕様書
    • HiPro Direct は主に Zenhub の Epic で管理しているが、HR forecaster はドキュメントツールで管理しており、仕様書だけでなく ADR もあった。
  • その他
    • HR forecaster は、プロジェクト内外の技術的な情報共有を行う時間があり、新しい発見が多く、良い取り組みであると感じた。

交換留学の良かった点

  • スクラムイベントや実装に関して、プロジェクト間の比較ができ、良し悪しを把握することができる。
    • 比較をすることで見えてくることがあるため、これが最も良かった点だと思います。
  • 未経験の技術に触れられるため、モチベーションが上がる。
    • 飽き性な私にとって、普段使っていない技術に触れられる環境は楽しかったです。
  • 普段関わることができない方と接する機会が得られる。
    • プロジェクト外のメンバーと関わる良い機会となりました。

交換留学の課題点

  • 1ヶ月半だと全体を満遍なくキャッチアップするのは難しい。
    • 特に実装に関しては、自分が担当した箇所以外の実装を全て把握することはできませんでした。
  • 受け入れる側に多少負担がかかる。
    • ドキュメントを整えたりオンボーディングを行ったりといった作業が必要になります。

感想

新しい環境に飛び込むことに初めは少し不安がありましたが、終わる頃には参加して良かったと思うことばかりで、とても充実した1ヶ月半を過ごすことができました。他のプロジェクトと比較することで見えてくることや得られる経験があるということを身をもって感じたので、今後も新しいことに挑戦すること、いつもと異なる環境に身を置くことを大切にしていきたいと思います。

鈴木さん(Salaries → HiPro Direct)

普段はSalariesで開発を行っている鈴木健太です。
私はHiPro Directに留学に行きました。

交換留学中の話

留学開始1週間ほどはオンボーディングを受けつつ、簡単なタスクを行いました。
HiPro Directには同期入社のエンジニアが居て、その方からオンボーディングを受けることが出来たのでコミュニケーション面でもスムーズに参加することが出来ました。

技術面では両プロダクトともフロントはReactで開発していて共通点が多いですが、
SalariesではAtomic Designに沿ってコンポーネント開発を行なっていますが、HiPro Directではドメインごとにコンポーネントを管理している点や、マイクロサービス化しているかモノリポ構成かの違いなど、若干の違いがありました。

技術以外では、リリース頻度がSalariesでは1ヶ月に1回リリースなのに対して、HiPro Directでは2週間に1度リリースを行なっていました。
開発期間が異なるので開発する量も違いはしますが、普段とスケジュール感が異なるので留学の最初は慣れなかったです。慣れるとこまめにリリースの振り返りなども出来るので良いなと感じるようになりました。
交換留学中はSalariesでは他の方に任せていたテスト設計書のレビューなど、今までやっていなかったことにも参加することができました。最近はQA輪読会に参加したりしてQA活動に興味もあったので勉強になりました。

交換留学を終えて

留学が始まる前はスムーズに開発に入れるかや1.5ヶ月の留学期間が長くないかなど不安がいくつかありましたが、実際に留学を終えてみると心配するほどのことではなかったなと思いました。
私のいる組織ではプロジェクトを跨いだメンバー間でコミュニケーションを取る機会が多くあるので、コミュニケーションコストはそれほど感じずに留学することができました。技術面に関してもプロジェクト間で使用している技術に大きな違いはないのでキャッチアップもスムーズに出来るようになっていました。
留学期間に関しては、3スプリントに参加することでプロジェクト間でのスクラムイベントの違いなどを見ることが出来たりと、ちょうど良い期間で良い経験になりました。

終わりにーー

さて、いかがでしたでしょうか?交換留学によって技術ナレッジの共有やスクラムの工夫などさまざまなメリットを感じる1.5ヶ月でした。 今後もこういった取り組みを通じてスキルを研鑽していきたいと思います💪

https://cdn-ak.f.st-hatena.com/images/fotolife/M/MGHY/20221216/20221216171825.jpg

相川 大吾 Daigo Aikawa

エンジニアリング統括部 MIRAIZ開発部 MIRAIZ開発グループ

2021年4月に新卒でパーソルキャリアへ入社。フロントエンドエンジニアとしてtoC、社内向けサービスの開発に従事。

https://cdn-ak.f.st-hatena.com/images/fotolife/c/chiakimori/20230816/20230816112546.jpg

鵜飼 琴乃 Kotono Ukai

エンジニアリング統括部 タレントシェアリングサービス開発部 HiProエンジニアリンググループ エンジニア

2019年にアパレル企画営業職からWebエンジニアに転職。Reactを使用した受託開発業務を経験した後、2022年4月にパーソルキャリア入社。現在は HiPro Direct のフロントエンドを担当している。

https://cdn-ak.f.st-hatena.com/images/fotolife/c/chiakimori/20220906/20220906205638.jpg

鈴木 健太 Kenta Suzuki

エンジニアリング統括部 クライアントサービス開発部 Salariesエンジニアリンググループ エンジニア

2022年4月に新卒でパーソルキャリアへ入社。現在はSalariesのフロントエンドを担当している。

※2024年1月現在の情報です。