はじめに
こんにちは、髙木です!
私は2025 年 2 月から 7 月までの約半年間、タグバンガーズでインターンをさせていただきました。
主にフロントエンド開発を担当しつつ、バックエンドにも携わりながら、いくつかの PJT(プロジェクト)に取り組むことができました。
この記事では、実際にどのような PJT に関わったのか、そしてそこから得られた学びについてご紹介します。
目次
はじめに
Background
スキルレベル
参加のきっかけ
PJT ごとの取り組み
PJT0: 研修
PJT1: 検索機能改善と項目追加
PJT2: 新規画面の実装
PJT3: マイクロサービス化の Scaffolding
業務以外の話
リモート勤務
勉強会
まとめ
Background
スキルレベル
インターンに参加する前は、プログラミング経験といえば Git の基本的なコマンド、機械学習で Python を使って簡単な実装ができるくらいでした。
Web アプリに関しては React を少し触ったことがあり、有名どころのフック(useState や useEffect)をなんとなく理解しているレベルでした。(React のエコシステム周りはまったく知らず、バックエンドに関しても完全に未経験でした。)
参加のきっかけ
Web 開発の勉強を続ける中で、「実務経験を積みながら学んだほうが目標も明確になるし、モチベーションも上がるんじゃないか」と思い、インターン先を探していました。
そんな中で出会ったのがタグバンガーズです。Next.js、Spring Boot、Terraform などモダンな技術を幅広く使っていて、「ここならいろんなことを学べそう!」と感じて応募しました。
PJT ごとの取り組み
PJT0: 研修
1 か月間の研修では、「Web アプリを 0 から作りながら、タグバンガーズの開発フローを理解すること」を目的に取り組みました。
テーマは自由だったので、自分は麻雀成績管理アプリを選びました。
最も印象的だった学びは、DDD(ドメイン駆動設計)の考え方に触れられたことです。
「このアプリは誰にとって嬉しいものなのか?」を真剣に考えることが大切であると気づきましたし、限られた時間の中で MVP をどこに設定するかという意思決定の難しさも実感しました。
また、技術面では初めて Panda CSS を使ってみました。記述の仕方が独特で最初は苦戦しましたが、メンターのアドバイスもあり新しいツールに挑戦する楽しさを感じました。
「わからない技術でもまず触ってみる姿勢」が、結果的に大きな学びにつながったと思います。
PJT1: 検索機能改善と項目追加
※以下の PJT1〜3 は、日本デザイン振興会様のグッドデザイン賞の管理者向けアプリケーションに関わったプロジェクトの話です。
最初のタスクは、検索機能の改善でした。
既存の検索は部分一致の処理が強すぎて、「東京未来テクノロジーズ株式会社」と検索すると「東京未来」「テクノロジーズ」「株式会社」のように分割され、結果が過剰にヒットしてしまう課題がありました。ここを適切に改善することに加えて、検索項目に「都道府県」「国」「ユニットコード」を追加する対応も担当しました。
最初にぶつかった壁は、バックエンド技術へのキャッチアップです。Java、Spring Boot、Elasticsearch などはほぼ初めて触れるもので、実務レベルのコードを理解するのにかなり苦労しました。またフロントエンド側も Redux を使っており、その実装もオニオンアーキテクチャに基づいて責務を分離しているため、データフェッチと状態管理の流れを把握するのに時間がかかりました。
工夫したこととしては、わからないことをひたすら調べ、常に「今の課題を解決するために必要な知識は何か」を意識してキャッチアップを進めたことです。技術的な疑問はまず AI を活用し、それでも解決できないものは質問の意図が伝わるように整理してから社員の方に聞きました。一方で、ドメインに関する質問は即座に社員に聞くようにし、スピード感を意識しました。
技術的な学びとして特に印象的だったのは、バックエンドが TDD(テスト駆動開発) のスタイルで開発されていたことです。テストが整備されているおかげで、初めてのバックエンド修正でも「自分の変更で他の部分を壊していないか」という不安がなく、自信を持って作業できました。Redux に関しても難しさはありましたが、オニオンアーキテクチャで責務が整理されていたことで、自分の修正がシステム全体の中でどんな役割を果たしているのか理解しやすくなりました。
このプロジェクトを通して、チーム開発のいろはを身につけられたと感じています。PJT1 ではこのほかにも多くの学びがありましたが、書き始めると長くなってしまうので、ここでは一旦区切りとします。
PJT2: 新規画面の実装
このプロジェクトでは、管理者向けの一覧ページと詳細ページを新規で作成しました。
一覧ページでは状態による絞り込みを行えるようにし、詳細ページでは対象のステータスを変更できるようにするのが主なタスクでした。
最初に苦労したのは、バックエンド側を含めて理解しなければならなかった点です。データベースを改善する必要があり、Graph DB(Neo4j)やデータの流れを理解するための Kafka など、初めて触れる技術をキャッチアップする必要がありました。さらに、ドメインの理解が不十分で「なぜこの機能が必要なのか」が見えにくい場面もありました。また、API 連携の設計においてレスポンス形式をどう定義すべきかを考えるのも大きな課題でした。
取り組みとしては、バックエンドを約 50%、フロントエンドはほぼ 100%担当しました。フロントエンドでは他のプロジェクトの既存コードを参考にしながら、品質を落とさないように意識して実装を進めました。PJT1 と似た実装も多く、良い復習の機会になったと感じています。
学びとして特に印象に残っているのは、Neo4j や Kafka といった新しい技術に触れられたことです。まだ完全に理解できたわけではありませんが、実務の中で学べたことはとても面白かったです。API 設計についてもチームで話し合いながら進める過程が楽しく、バックエンドは UI に依存しないように責務を分けることが大切だと指摘されたことが特に印象的でした。
また、TypeScript の型についても多く学びました。特に union 型や enum 型の使い分けなど、これまで曖昧だった部分が実務を通じて整理できたのは大きな収穫でした。
PJT3: マイクロサービス化の Scaffolding
このプロジェクトでは、マイクロサービス化に向けた基盤づくり(Scaffolding)を担当しました。
特にフロントエンドの環境構築を中心に取り組み、CI/CD を含む開発環境の整備や必要なライブラリの初期設定を行いました。
最初に苦労したのは、依存関係や通信の仕組みの理解です。API Gateway を経由した通信や CORS 問題、認証・認可といった仕組みはこれまで触れてこなかった分野であり、さらに CI/CD などの環境セットアップも新しい知識が多く、最初は戸惑うことが多かったです。
そこで、不明点はドキュメントや関連技術のチュートリアルを読み込み、理解が追いつかない部分は社員の方に確認しました。特に意識したのは、PR を作成する際に「なぜこの設定にしたのか」を説明できるレベルまで理解を深めることです。設定一つひとつに意図を持たせるように努めました。
この経験を通して、ただ動く環境を作るのではなく、設定に意味を込めて設計することの大切さを学びました。社員の方から「この設定はなぜこうしているのか?」と問われるたびに、自分自身の理解を確認する良い機会になりました。また、認証・認可や Web 通信の基礎知識を深めるきっかけにもなり、一人で理解しきれない部分はチームで議論しながら進めることの重要性も実感しました。
新しい技術基盤に触れることで「土台を作る人の責任の重さ」も強く感じました。今後は新しい技術に取り組む際、まずは小さなスコープから試し、設計思想やアーキテクチャをチームで共有する姿勢を大切にしたいと思います。
業務以外の話
リモート勤務
最初の 3 か月ほどは出社していましたが、学業との兼ね合いもあり途中からリモート勤務に切り替えました。
リモートでは「Gather」というツールを活用し、質問があるときは空いている社員さんにすぐ声をかけられる環境でした。むしろ誰が空いているかが一目で分かるため、出社時よりも質問しやすいと感じる場面もありました。
また、3 か月に 1 回は社内で「Summit」が開催され、実際に出社してメンバーと交流する機会もありました。リモートと対面の両方を組み合わせることで、快適に働きながらコミュニケーションも十分に取れる環境だったと思います。
勉強会
水曜日の早朝には勉強会が開催されており、テーマは自由で技術発表会のような形式でした。
インターン生でありながら、私も業務で学んだ enum 型と union 型の使い分けについて発表する機会をいただき、貴重な経験となりました。
また、フロントエンドの技術だけでなく、バックエンドやインフラに関する発表も聞くことができ、大変勉強になりましたし、モチベーションの向上にもつながりました。知識を深めるだけでなく、エンジニアとして刺激を受ける場でもあり、とても有意義な時間でした。
まとめ
いかがでしたでしょうか。
タグバンガーズでのインターンは、技術力を磨くだけでなく、チーム開発の中でどのように働くかという実践的なスキルも身につけることができました。
半年間という短い期間でしたが、本当に多くを吸収し、大きく成長できたと思います。何よりも大きかったのは、社員の皆さんが私を「インターン生」という立場ではなく、一人のエンジニアとして接してくださったことです。また、困ったときにはいつも丁寧に相談に乗っていただき、そのおかげで安心して挑戦することができました。
この経験は、今後の自分にとって大きな礎になると確信しています。
改めて、タグバンガーズの皆さんには心から感謝しています。本当にありがとうございました。