
大ChatGPT時代に、あえて「LeetCode解くまで帰れま10」をやってみた
こんにちは。ワンキャリアのエンジニアリングマネージャーの江副です。
普段はONE CAREER CLOUDの開発チームのマネジメントをしつつ、メンバーの採用やスキル開発といった組織づくりにも取り組んでいます。
今回は当社で2023年2月から継続して取り組んでいる「LeetCode解くまで帰れま10」という企画の紹介と実施してみて感じたことなどをお伝えできればと思います。
「LeetCode解くまで帰れま10」の企画概要
「LeetCode解くまで帰れま10」とは、毎日コーディングテストプラットフォームであるLeetCodeから1問ピックアップし、技術開発部のメンバーから抽選で1名がその問題に取り組むという企画です。
「LeetCode解くまで帰れま10」の企画詳細
より詳細には、以下のような企画となっています。
週替わりで扱うデータ構造とアルゴリズムのトピックを変更
今週は二分探索、来週はビット演算…というイメージ
企画用のSlackチャンネルを開設
筆者が毎日トピックに関連したLeetCodeの問題をピックアップ
技術開発部のメンバーをランダムに選び、Slackで指名
指名された方は退勤までに問題を解く
以下は実際の様子です。

また、毎週月曜日にはその週に扱うトピックの軽い解説会を設け、ランダムに指名された方が「見たことも聞いたこともないデータ構造とアルゴリズムに立ち向かう」みたいな事態は避けています。
以下はその解説会で使用している資料の断片です。

企画の主旨
この企画では、メンバーのいわゆるプログラミング的思考力の向上と、コンピュータサイエンス基礎知識の獲得を目指しています。
LeetCodeなどが提供しているコーディングテストは、頭を使う訓練としてちょうど良い小ささの問題です。それらを毎日解くことによって、問題解決の思考(= プログラミング的思考)プロセスを叩きこみ、かつ普段の開発でも役に立つ知識(= データ構造とアルゴリズム)を獲得してもらうというのがこの企画の主旨です。
元々この企画を発足させようと思った背景には、エンジニア組織が急拡大する機運が見えてきていたことがあります。
というのは、会社の売上伸長とともにプロダクト数が増え、それを支えるメンバーが増え…といった具合で、僕の入社した2年前、2021年には正社員エンジニアが5名だったところから今は20名以上のメンバーが在籍しています。
こうした状況において、組織は自然とチームを分割し、それぞれのチームが担当しているプロダクト開発を自治していく体制になっていったわけです。が、そこで思い浮かんだ懸念は概ね「これまで通り、プロダクトの品質を維持・向上できるのかどうか」というところでした。
これまではシニアなメンバーが実質全てのコードに目を通し、リリース可否を決めていたところからチームの自治に任せ、詳細には関与しない方針になる以上、そこには諸々のリスクを見てとることはできるわけです。
そこに対するざっくりとした打ち手として、「とにかく皆のレベルアップに必要そうな知識を叩き込んだらええやろ!!」という剛腕施策の第一弾として、今回の企画を考えました。
実施してみて
かなり定性的な話にはなるのですが、以下の効果は美味しいなと思っています。
1. データ構造とアルゴリズムについて、メンバーの意識が高まった
2. 計算量について、メンバーの意識が高まった
特にコードレビューなどにおいて、計算量を意識した指摘が以前より体感として増えているような気がします。
この辺の知識は普通のWebアプリケーション開発では殊更には意識しない類なので、インプットの機会として重宝している感じはあります。
企画開始から1ヶ月後、ChatGPT 4が登場して…
一瞬この企画自体を辞めようかと思ったのが正直なところですが、以下3点から継続を決めました。
1. 元々頭を使う訓練という名目で始めており、依然としてその効果は見込めること
2. データ構造とアルゴリズムの知識は一般教養として獲得して損はないこと
3. 楽しいこと(!)
やはり楽しいのが一番!
ということで、本記事執筆時点で2ヶ月ほど継続しており、今後も実施する予定です。
今後の展望
FY23上期にかけて、基礎的なデータ構造とアルゴリズムについては一通り扱おうと思っています。
こうしたスキルアップの取り組みは当社の中で他にも各種実施しており(いずれ記事にします)、最終的にはメンバー全員がコンピュータサイエンスの学位相当のリテラシーを手に入れることを目指しています。
昨今はLLMの隆盛により、専門的な知識のキャッチアップのハードルが下がっていると感じるのでうまく活用して、組織全体の知識レベルの底上げに繋げることができればと考えています。
すでにChatGPTを使ったプロダクトも近日リリース予定なので、組織のスキル向上にもうまく活用していきたいです。
▼ChatGPTで就活のESを約30秒で作成。ワンキャリア、書き方よりも内容に時間を割けるES自動生成サービス「ESの達人」 β版が5月中旬にリリース。
というわけで、ここまでお読みいただきまして、ありがとうございました!何かの参考になればとても嬉しいです。
ちなみに、ワンキャリアではエンジニアを絶賛募集中です!
今回取り上げたような取り組みにワクワクするような方は、弊社の開発組織にピッタリかと思います。そんな方はぜひ1度カジュアルにお話しましょう!
▼ワンキャリアのエンジニア組織のことを知りたい方はまずこちら
▼カジュアル面談を希望の方はこちら
▼エンジニア求人票