データサイエンティストがエンジニアチームに社内留学してみた話

この記事は「株式会社エス・エム・エス Advent Calendar 2023」の12日目の記事です。

こんにちは、Analytics&Innovation推進部(以下、A&I推進部)の小貝(@oddgai)です。

M-1グランプリの決勝が近づいてきて、今年ももう終わりか〜としみじみしています。 今年は夫婦で真空ジェシカ、令和ロマン、ヤーレンズ、敗者復活でななまがりを応援しています。がんばれ!

さて、社内のデータ活用チームであるA&I推進部にデータサイエンティストとして新卒入社して4年目になるのですが、今年の4月から「カイポケ」のフルリニューアルプロジェクトのエンジニアチームに社内留学してアプリケーション開発も行っています。12月時点だとデータサイエンティスト1割、エンジニア9割くらいの割合で働いています。

この記事では、今年を振り返って

  • なんで/どうやって社内留学したの?
  • 開始から今までにやってきたこと
  • やってみてどう?

あたりをまとめようと思います。

なんで/どうやって社内留学したの?

社内留学した理由を一言でまとめると、今後のキャリアや社内での役割を見据えて、ソフトウェア開発の基礎的な経験を積んでおきたかったからです。これだけ書くと立派に見えますが、もう少し心の内をさらけ出して書くと下のようになります。

  • 研修などでソフトウェア開発の体系的な知識を付けないまま新卒4年目まで来てしまい、「同世代のデータサイエンティストが当たり前に知っているであろうことを知らない気がする」という焦りがあった
  • データサイエンティストとしてエンジニアとやり取りすることも多いが、あまり勝手がわかっていなかった
  • 数理最適化や機械学習などのモデルは最終的に何らかのシステムに組み込まれることも多いので、ソフトウェア開発の知識や経験があったほうがいい
  • 大きな環境の変化がないまま4年目になり若干だれてきた感があったので、何かしらの外的変化がほしかった

このようなもやもやがあったので、3年目の終わりの考課面談で上長に相談してみました。周りに社内留学をした人がいなかったのもあり、このときは留学という発想はなく「何かしらの研修を受けさせてもらえたらいいな」くらいの気持ちでした。

そこからあれよあれよという間に話が進み、気づいたらエンジニアチームにいました。裏ではいろんな人が動いてくれていたのだと思いますが、私目線だと下のようなスケジュールになっていて、このときは正直このスピード感に心が追いついていませんでした。

  • 2023/3/8: 考課面談で「開発経験が積みたい」と相談する
  • 2023/3/24: 技術責任者の田辺さん(@sunaot)と面談して社内留学ができる説を知る
    • このときは「やるにしても半年後くらいでしょ」と思っていた
  • 2023/4/24: 受け入れ先チームの空中さん(@soranakk)達と面談する
    • ここで「アッこれすぐの話なのか」と気づく
  • 2023/4/28(その4日後!): チームのモブプログラミングに参加して、以降ほぼフルコミット

開始から今までの振り返り

こんな感じでいきなり始まった社内留学ですが、現時点で開始から7ヶ月くらいになるので、今までをざっくり振り返ってみます。

開始〜1ヶ月目:プロジェクトのことを知る期

最初にプロジェクトやチームに関わるいろんなドキュメントをもらったので、そのインプットから始めました。カイポケがリニューアルするのは知っていたのですが、その背景や具体的にやっていることまでは把握していなかったので、そこを埋めるようにドキュメントを消化していきました。 介護業界に関わるドメイン知識などはすでにあって、それに関するつらさがほぼ無かったのは社内留学のいいところだなと感じています。

ちなみに当時の私はこんな資料を残しています(A&I推進部内での報告資料です)。右下のE資格というのは日本ディープラーニング協会が実施している資格試験のことで「開発の勉強もしたいけど資格対策もしないと〜〜〜」と大変な状況でした。がんばれ!

2〜3ヶ月目:バックエンドがんばる期

プロジェクトやチームの動きがある程度わかったところで、実際の開発タスクに手を付け始めます。 ちょうどその頃に着手予定になっていたバックエンドAPI実装をやったのですが、KotlinやSpring Bootを触ったことがなかったので、モブプログラミングで大いに助けてもらいながらなんとか実装しました。

モブプロはオンボーディング関係なくほぼ毎日やっているのですが、これが経験の浅い私にとっては本当にありがたくて、開発の勉強になるだけでなく「昨日〇〇がおいしかった」などの雑談も挟まるためチームの一員になっている感があり、何もわからん状態だった私は精神的に救われました。やはり雑談は大事。

このAPI実装が終わった後に、チーム全体で別チームのバックエンド開発を手伝うことがあったのですが、そこまで難しくないタスクだったこともあり基本的には独力で進めることができて「なんかイケてるぞ」という自信に繋がりました。

また、この時期にはデータサイエンティストとして、求人のレコメンドAPI開発のプロジェクト管理もしていました。その際、エンジニアチームに依頼してAPIをサービスに組み込んでもらうタイミングがあったのですが、前よりもエンジニアの気持ちがわかるようになっていたからかスムーズに依頼ができて「データサイエンティストとしてのスキルアップにも繋がってるぞ!」と嬉しくなりました。

ちなみに当時の気持ちはこんな感じだったようです。えらいぞ!がんばれ!

4〜6ヶ月目:フロントエンドも触ってみよう期

バックエンドがチョットワカルようになってきたので、フロントエンドにも手を出し始めます。 最初は、当時タスクとして挙がっていた氏名入力フォームなどでの姓名分離(バックエンドは対応済みで、画面側の対応)をやりました。 ここでStorybookやChromaticに初めて触れたのですが、「画面がチェックできる!!すごい!!」と感動しました。成果物として実際に動く画面が見られるのは楽しいです。

次に手を出したタスクが当時の自分としてはやや難しく、というのも

  • 最初の仕様ではそこまで難しいタスクではなかった
  • 途中から仕様変更があり、チーム内で触ったことがないコンポーネントを扱うことになった
  • 🤯🤯🤯

という変貌を遂げたもので、フロントエンドチームにも助けてもらいながらなんとか終えることができました。今振り返ると、デザイナーや別チームのエンジニアとやり取りしながら開発する経験ができたのでとても良かったです。

7ヶ月目〜現在:どんどんタスクを拾っていこう期

バックエンド、フロントエンドともに何となく進め方がわかってきたので、引き続き助けてもらいながらもどんどんタスクを拾っています。 積まれているタスクをやるだけでなく「ここの画面ちょっとおかしいですね→後で直しておきます」のような動きもできるようになり、「俺は!!エンジニアとして働いているぞ!!」という実感があって楽しいです。

一方で、個々の開発タスクで得た知識や経験を有機的に結びつけられていない感覚もあるので、改めて体系的に基礎を学びたいです。

まとめると今の気持ちはこんな感じです。いいぞ!

やってみてどう?

最初は「開発のことなんもわからん」「チームの雰囲気に慣れない」などで大変でしたが、振り返ると本当に良い経験をさせてもらっているなと思います。

具体的に良かったことは挙げるときりがないのですが、ぱっと思いつくだけでこのくらいあります。

  • 経験が浅いところからのスタートというのもあって「先週できなかったことが今週はできるようになっている」が続いて楽しい
  • データサイエンティストとしてのスキルアップにも繋がっている
  • 社内でカジュアルにコミュニケーションできる人が増えて嬉しい
  • エンジニアとの距離が縮まりテックブログへの投稿が増えた
  • 外からは見えにくいエンジニアの大変さがわかって、もっとリスペクトが湧いた

いつまで社内留学を続けるのか具体的なスケジュールは未定ですが、もっとエンジニアとしてのスキルを伸ばしたいのと、このプロジェクトにもう少し関わっていたいので、もう少し続ける予定です。

おわりに

改めて振り返ると、慌ただしかったですがとても良い刺激を受けた1年でした。 最後になりますが、社内留学のために動いてくれた方々や、日々助けてもらっているチーム内外のメンバーには感謝してもしきれません。本当にありがとうございます!

弊社では、データサイエンティストやエンジニアの採用を積極的に行っています。興味をもっていただけた方はぜひカジュアル面談にお越しください!

データサイエンティスト(AnalyticsTranslator) / 株式会社エス・エム・エス

ソフトウェアエンジニア カジュアル面談(PM/EM/SRE/QAも歓迎) / 株式会社エス・エム・エス