Sass事業部での就業型インターンシップを振り返る

はじめに

2025年8月1日から1か月間、「Booost!!! Excite Internship 2025」に参加しました。本記事では、インターンシップで取り組んだ内容や学び、感じたことをまとめて紹介します。

自己紹介

私は情報系学部に在籍する大学3年生です。これまでのWebアプリ開発経験は、個人で簡単なサービスを作り、保守・運用していた程度であり、本格的なチーム開発に挑戦するのは今回が初めてでした。インターンシップを通して、技術的な知識だけでなく、チームで協力しながら進めることや、円滑なコミュニケーションの大切さを学ぶことができました。

インターンシップでの業務内容

私はSaaS事業部に配属させていただき、「FanGrowth」の開発に携わりました。 FanGrowthはこれまでフロントエンドにVue2(Nuxt.js)を用いていましたが、Vue2のサポート終了に伴い、Reactへの移行が進められていました。私はその一環として、実際にReact移行の業務に取り組み、一覧表示や絞り込み機能、新規作成機能などの開発を担当しました。

学んだこと

今回のインターンシップを通じて、多くの学びがありました。その中でも特に印象的だったことを、「技術面」と「業務面」に分けて紹介します。

技術面

Gitでのトラブル

ローカルで作業を進めていた際、大量のコンフリクトを発生させてしまい、Gitの履歴がぐちゃぐちゃになってしまったことがありました。原因を振り返ってみると、GitHub Actionsによって自動的に行われるコードフォーマットの差分を、きちんと取り込まずに作業を続けてしまったことが大きな要因でした。当時はリアルタイムで問題の本質を理解できず、なぜここまで複雑な状況になってしまったのか戸惑いました。しかし、時間をかけて履歴や差分を一つひとつ丁寧に追い直し、ドキュメントや関連する知識を調べていくうちに、徐々に原因がクリアになり、最終的には状況を整理できました。この経験を通して、単なるトラブルシューティングにとどまらず、Gitの内部動作やGitHub Actionsの役割に対する理解が深まりました。その結果、以前よりも自信を持ってGit/GitHubを扱えるようになり、今では類似の問題が発生したとしても落ち着いて対処できるという安心感につながっています。

コンポーネント設計

コードを書く力だけでなく、コンポーネント設計や可読性・保守性といった抽象的な観点を意識することの重要性を実感しました。 例えば、実装の中で使用した MultiSelect コンポーネント のコードを読むと、親子コンポーネント間の連携を意識した設計や、状態管理・イベント処理の工夫などが随所にあり、ひとつのコンポーネントの中にも「読みやすさ」や「保守しやすさ」がしっかりと考えられていることに気づきました。 このように気づけたこと自体が大きな学びであり、単に「動くものを作る」という段階から一歩進んで、「より良い設計で長く使えるものを作る」という視点を持てるようになった証だと思います。今後も、他者が書いたコンポーネントやライブラリを積極的に読み解き、自分の実装に取り入れることで、コードの品質を高め、チーム開発における信頼性の向上にもつなげていきたいと考えています。

大規模なコードベース

大規模なサービスに携わった経験を通じて、特にコードを読み解く力が大きく鍛えられました。共通コンポーネントやカスタムフックを追いかけながら実装を進める中で、「なぜこの処理が必要なのか」「なぜこの構造で切り出されているのか」といった意図を考えながら読み解く姿勢が自然と身につきました。最初は複雑に感じられたコードも、役割ごとの責務や再利用性を意識して読むことで理解が深まり、単なる“機能の仕組み”を追うだけでなく“設計の背景”を掴めるようになりました。結果として、自分なりのコードの読み方・整理の仕方を確立できたと思います。こうした経験は、自分でコードを書く際にも「将来この処理はどう読まれるか」「分かりやすい切り分けになっているか」といった視点を持つきっかけとなり、実装スキルだけでなく設計を意識する力も育ててくれました。今後もこうした学びを活かし、コードベース全体を見渡しながら開発に貢献していきたいです。

業務面

コミュニケーション

私が今回のフルリモート型インターンシップで学んだ最も大きなことの一つは、「コミュニケーションの大切さ」です。リモート環境では対面でのやり取りがないため、少しの確認不足でも業務に影響が出ることを実感しました。例えば、あるタスクの一部が分からなかったとき、すぐに質問せず自分で時間をかけて試行錯誤してしまったことがあります。その結果、思った以上に時間がかかってしまい、他の作業に影響が出てしまいました。この経験から、考える時間を決め、その時間内に分からないことは遠慮せず早めに相談することの重要性を学びました。その後は、タスクで迷ったときはすぐにチャットで確認するようにし、報告の際には「どこまで進めたか」と「次に何をするか」を具体的に伝えることを意識しました。また、会議前には話す内容を整理しておくことで、短時間で的確に情報を共有できるよう工夫しました。この経験を通じて、リモート環境でも円滑なコミュニケーションを取るには、「迷ったらすぐ質問すること」と「具体的に伝えること」が非常に重要であることを学びました。今後もこの学びを活かし、チームで効率よく協力できるよう努めていきたいと思います。

仕事のペース作り

自分でペースを作ることの重要性も学びました。最初はタスクが思うように進まず、焦りや不安を感じることも多くありました。特に、新しい環境や業務のやり方に慣れる過程で、何から手をつけてよいか迷う場面が何度もありました。しかし、一つのタスクで成果を出せると、それまでの不安や焦りが少しずつ和らぎ、自信を持って次の作業に取り組める感覚を得ることができました。その経験から、小さな成功体験を積み重ねることの大切さを実感しました。実際の業務では簡単なタスクばかりではなく、難易度の高いものや時間のかかるものも多いと思いますが、どんな状況でも落ち着いて取り組めるよう、自分なりのペースメイクを意識しながら工夫していきたいと考えています。また、効率よく進めるために、計画的にタスクを整理したり、優先順位を見極めたりすることも意識していきたいです。こうした取り組みを通じて、確実に成果を出しつつ、安定して業務に向き合える力を身につけていきたいと思います。

感想

今回のインターンシップを通じて、本当に多くの学びを得ることができました。日々の業務を通して、エンジニアとしてタスクを着実に進めていく達成感や、チームで一つのプロダクトを作り上げる楽しさを強く実感しました。特に、コードを書くことだけでなく、設計やレビュー、コミュニケーションを通してプロジェクト全体を理解する経験は、自分の成長に大きく寄与したと感じています。同時に、自分にはまだ不足している部分も多くあることに気づきました。特に技術力の面では、より深い知識や応用力が必要だと痛感しています。バックエンドやデータベースの設計・運用についても理解を深め、フロントエンドだけでなく全体を見渡せるフルスタックエンジニアとして成長していくことが今後の大きな目標です。また、チームでの協働を通じて学んだ課題解決の方法や、効率的なコミュニケーションの重要性も、今後のキャリアに活かしていきたいと考えています。今回の経験を糧に、技術力だけでなくプロジェクト全体を俯瞰する力やチームでの貢献力も磨き、より価値のあるエンジニアを目指して努力していきたいと思います。

最後に

今回のインターンシップを通じて、多大なるご指導とご支援をくださったメンターの皆様、そして面接の段階から最終日まで温かくサポートしてくださった人事の皆様に、心より感謝申し上げます。皆様のおかげで、実務を通じて多くのことを学び、貴重な経験を積むことができました。面接や日々の業務におきましても、細やかで手厚いご指導をいただき、安心して取り組むことができたことに深く感謝しております。この経験は、今後の自分の成長にとって大きな糧となると確信しております。本当にありがとうございました。