【インターンシップ体験記】『スタディサプリENGLISH』のAPI開発で学んだ、「Why」を軸とした設計

  

⾃⼰紹介

Englishバックエンド開発2グループでインターンシップをしていました、慶應義塾⼤学理⼯学研究科の塚越雄真です。

約1ヶ⽉間、リクルートのエンジニアインターンシップに参加したので、その時に取り組んだ案件と、そこで得た学びをご紹介します。

組織について気になる⽅はこちらをご覧ください。スタディサプリ ENGLISH 開発組織 紹介記事

 

プロダクト・チームの紹介

私の配属されたチームが担当するプロダクトは『スタディサプリENGLISH』で、K-12(⼩中⾼)事業に加え、社会⼈向けの英語学習サービスを提供しています。特に私は、⾼校向け領域プロダクトのバックエンド開発に携わりました。

チームには、「エンドユーザーにサービスを届けることに本気で取り組む⽂化」が根付いており、各チーム間のコミュニケーションの密度の⾼さを感じました!

 

案件の紹介

その中でも私が担当した案件は、新規画⾯のエンドポイント実装です。インターンシップではNDA(秘密保持契約)を結んでいるため詳細はお伝えできませんが、この案件は、仕様検討から技術設計、実装までを⼀貫して任せていただきました。このプロセスを通じて、単に「任されたタスクを⾏う」のではなく、「なぜこの機能を開発する必要があるのか」、「届けるエンドユーザーにとってどのようなメリットがあるのか」といったエンドユーザー視点で開発に臨めたことは、私のWILL(達成したいこと)と深く⼀致していました。この点も相まって、1ヶ⽉間、本当に濃密でモチベーション⾼く貴重な経験をさせていただきました!

 

案件を担当した経緯

インターンシップ参加前は、「実サービスの開発に深く携わり、ビジネスサイドと連携して価値を⽣み出すプロセス」を経験したいと思っていました。

インターンシップ開始前のミーティングで、「いただいたタスクをただこなすだけでなく、『なぜ作るのか?』を明確にしてから開発する経験を積みたい」と話していたところ、受け⼊れ先の社員が意向を汲んでくださり、今回の仕様検討から深く関わるAPI開発案件に挑戦させてくれました!

 

案件を通して学んだこと・成⻑したと感じたこと・やりがいを感じたこと

案件を通して、当初希望していた「なぜ作るのか」という根拠(⼀次情報)を明確にしてから開発する経験が積めたことはもちろん、「設計の客観性」についても理解が深まりました。

  • 設計の客観的⽐較の重要性:⾃分の実装案に対して、「もっといい⽅法があるのでは?」という視点を持ち、客観的な評価指標(拡張性、保守性、アーキテクチャへの適合性など)を置いて、マトリクスを作成し、最適な案を論理的に決定する⼿法を学びました。
  • ドメイン駆動の責務分離:ドメインの中核概念はバックエンド、⾒せ⽅のデザイン部分はフロントエンドと、クリーンアーキテクチャの責務に基づきロジックの配置を判断しました。
  • APIの意図の明確化:APIの意図と権限周りのスコープを⼀致させる、セキュリティとドメインに配慮した設計思想を学びました。

個⼈的に、インターンシップ⽣という⽴場ながら、実際に学校の先⽣から⽣の声をいただいているプロダクトデザインの⽅にヒアリングをして議論を⾏えたことは衝撃でした。エンジニアとビジネスサイドがこれほど近い状態でプロダクトの開発が⾏える環境は、⾮常に魅⼒的だと感じました!

また、バックエンドチーム以外にも、フロントエンドチームやiOS/Androidチームとコミュニケーションの密度が⾼く、チームの⼀体感があり、とてもやりがいがありました。質問にも気軽に答えていただき、仕様検討や技術設計を⾏うためにオンライン・オフラインを問わず相談できる環境があったことも、モチベーション⾼く業務に取り組めた理由です。

 

おわりに

この1ヶ⽉、最⾼に濃密な経験ができたのは、ひとえに皆さんのおかげです。本当にありがとうございました!

Englishチームの、コーヒー部やランニング部といった業務外でも活気のある雰囲気で楽しく過ごせました。朝から皇居ランをして汗を流してから出社したことも、とてもいい思い出です。

そして、毎⽇の業務も⽣活もサポートしてくれたメンターの⽅々、チームの皆さんには本当に感謝の気持ちでいっぱいです。皆さんとの出会いとご指導のおかげで、エンジニアとしての視野が広がりました。またぜひよろしくお願いします!

記事内容及び組織や事業・職種などの名称は、編集・執筆当時のものです。