はじめに
8月からGENDAのFE/BE開発部のインターン生の兪と申します。
インターンを4ヶ月ほどさせていただいた感想や、GENDAのインターンで感じた魅力について書きたいと思います!
自己紹介
現在大学二年生で、大学では経済社会システム、デザイン生産システム、知能システムなど様々なシステムについて勉強しています。エンジニアの仕事には昔から興味があり、大学二年生になった時、大学のプログラミングサークルでプログラミングの学習をはじめました。
休日は家でドラマを見たり本を読んだりしてだらだらしたりするのが好きです。最近は年末にどのドラマを一気見しようか考えてワクワクしています。
インターンのきっかけ
今年の2月から東京大学発のエンジニアサークルUTokyo Tech ClubのAIコースに7期生として加わり、データ分析やRAGなどについて学習した後、アプリ開発を行うハッカソンを修了しました。その後、同サークルのインターン紹介を通じてGENDAのFE/BE開発部に参加させていただきました。
入った当時は近年のAIブームの影響もあり、AIについて学習するコースに入りましたが、エンジニアとしてもっと基本的な技術を習得したいという思いから、FE/BE開発部でインターンをすることに決めました。
インターン先としてGENDAを選んだ理由としては、
GENDAで働いている方々とお話しする機会をいただいた際に、皆楽しそうで雰囲気が良かったこと
エンタメの会社で、カラオケや映画の事業など、楽しそうだと思う事業が多かったこと
インターン同士の交流もたくさんあり、成長できる環境が整っていると感じたこと
などがあります。
UTokyo Tech Clubについては↓↓こちら↓↓
これまでの仕事内容
- カラオケBanBanとは?
全国に約360店舗を展開しているカラオケチェーン店
GENDAはエンタメ領域でさまざまな事業を展開している会社で、私はカラオケ事業「カラオケBanBan」のシステム開発で主に以下の業務に携わらせていただきました。
カラオケBanBanの社内向けの業務システム BanBan NAVIのIPアドレス制限の実装
-
社内・特定拠点からのみアクセスできるようにするセキュリティ機能を追加
-
全エンドポイントに共通の処理であるため Middlewareで一括管理
-
「アクセス制御はMiddleware、ビジネスロジックはAPI」 と責務を明確化
→ クリーンな構造で保守性と安全性が向上すると理解した
メンテナンスモード機能の実装(Redis利用)
- システム更新時にユーザー操作を止め、503を返す仕組みを構築
- 一時的な状態管理のためメモリ型データストア Redis を採用
- Redis を参照し、モード ON/OFF を判定
→ 安全な運用・障害対応の仕組みづくりを体験した
クーポン二次元コード文字列を生成し、管理画面で確認できるようにする実装
-
管理画面から紙クーポン用QR文字列を取得できるAPIを追加
-
Handler → Usecase → DBAdapter のクリーンアーキテクチャ構造に沿って開発
→ バックエンド API 開発の一連の流れを実践的に経験した
クーポンの有効期限を日数で設定できる仕組みの実装
-
有効開始日・終了日に加え 「有効期間日数」 で登録可能に
-
外部サービス(Braze)からWebhookを受けて、
登録・誕生日・来店翌日など ユーザーごとに異なるタイミングで自動発行
→ Webhookの仕組みを理解した -
管理画面にも設定UIを追加
Go・DB・テスト・クリーンアーキテクチャなどの基礎習得
-
Goの文法、SQL、ユニットテストに関する学習
-
GitHubでのチーム開発を経験
-
クリーンアーキテクチャの理解と実装
→ 実務レベルの開発プロセスを総合的に体験できました
以上の業務を通してバックエンド開発スキルを身につけると同時に、なぜその技術を使うのかを理解する大切さを学びました。また、クリーンアーキテクチャを徹底することの重要性を体感したことによって、それを強く意識する大切さを学びました。
GENDAで働いて感じた魅力
クリーンアーキテクチャが徹底されている
どの機能を実装するときも 「どの層が何を担当すべきか」「責務をどこに置くべきか」 をとても重視していたので、ただ仕様を実装するだけでなく、変更に強いコードを書くにはどうすべきか、外部依存をどう切り離すか、責務が曖昧だと何が起こるのかなどについて理解することができました。
自分の書いたコードが日常で利用しているサービスで使われる体験が得られる
私は普段からカラオケによく行くのですが、よく行く場所で自分の書いたコードが実際に組み込まれるというのはとてもやりがいとなりました。
大好きなことに作る側として関われたことは、エンジニアとしてのモチベーションを大きく引き上げてくれた経験でした。
雰囲気の良さ
メンターの方々や、インターンの先輩の方々は本当に優しくて、質問にはとても丁寧に答えてくださりました。
また、インターン同士の交流も活発で、みんな仲が良くお互いに相談しながら仕事できたことも大きな支えになりました。
周りの支えと、この雰囲気の良さがあったからこそ、難しいイメージが強かったエンジニアの仕事にも安心して挑戦できました。
最後に
最初は不安もたくさんありましたが、毎日少しずつ理解できることが増え、今では成長を実感しています。
とても楽しくインターンすることができて、恵まれた環境にとても感謝しています!
これからも、成長し続けられるように頑張っていきたいです!