初長期インターンで「技術力」+「大切な価値観」も同時に学べた話
🧭 はじめに
- 参加したインターン先: 株式会社パブリックテクノロジーズ
- 期間: 2025年2月〜現在(2025年6月時点)
-
業務内容の概要: Backendエンジニアとしてタスクに取り組むことがメインとしては多く、
そのほかにもDockerやGitHub ActionsによるCI/CD実装などのインフラ周りのタスクも扱っている。 - なぜこの記事を書こうと思ったのか: 後にも詳しく書いていますが、8月に大学が始まる都合上、日本に滞在していられる期間が残り2ヶ月切ったタイミングで、インターンの中間報告を兼ねた振り返りとしてこの記事を執筆しました。
👤 自己紹介
普段はアメリカのカリフォルニア州(サンフランシスコ周辺)にある大学でコンピューターサイエンスを学んでいる大学2年生です。しかし今年の1月から5月にかけての春学期の間、このままアメリカでのんびり授業を受けながらじっとしているのも勿体無い、エンジニアとして何か今後に活きる実務経験をどんどん積まねばと思い、思い切ってアメリカから日本にUターンして開発インターンに挑戦するという異色の選択肢を取りました。
(せっかくアメリカにいるならアメリカでインターンすればいいんじゃない?
と思った方もいるかと思います。が、実は現地のほとんどの企業は即戦力としての実務経験を前提条件としていることが多く、書類すら通らないといったとても大きな壁があるのです…
そこでまずは挑戦しやすい日本で、イケてるスタートアップ企業を見つけて長期インターンの経験を積もうと思い、今回の選択に至りました。)
当時は日本でフルリモートの授業を3つ取りながらフルタイムで開発インターンを行うといった、なかなかクレイジーなことに挑戦してました。笑
自分の周りの友人、先輩含めこのようなことをする人はまあそうそういないので初めは少し不安が大きかったのを覚えています…
当時の自分のスキルレベルや状況は以下の通りです。
- C++:主に学校の授業で使用
- Java:授業で少し勉強したくらい
- HTML, CSS:大体分かるし使えるレベル
- React, TypeScript:ほぼ初心者レベル
- Python:前回のインターンでDjangoを扱っていたこともあり、少しBackendで書ける
- PostgreSQL:DBを軽く扱えるくらい
といったほぼ駆け出しのひよっこエンジニアでした。
💡 応募した理由・背景
-
なぜこの企業を選んだのか: この企業は、
Japanese Dynamism— 『地域から世界へ、日本を躍動させる』
といったとても大きなビジョンを掲げている企業でした。
こんなにデカい夢を掲げて魅力的なことをやっている企業を見たことがなかったので、是非
一度話を聞いてみたいと思い、面談に進みました。
技術的な面で言うと、使っている技術スタックがとてもモダンで、当時自分が一番触れたかったTypeScriptを存分に使っているので成長できそうな環境だなと思ったことも理由のうちの一つです。
-
選考で印象に残ったことや学んだこと:Wantedly経由で初日のカジュアル面談を終えてから翌日に技術面接に進んでそのままオファーをいただきました。そしてその翌週から業務に携わるというスピード感のある選考フローに驚きつつ、同時にこんな自分を受け入れていただけて非常にありがたいなという印象が強かったです。
特に2日目の技術面接では、CTOの方とお話をして自分のこれまでの経験や大学での勉強だけではなく、自分が掲げる理想のエンジニア像や今後求められるエンジニアとは、など非常に内容の濃いディスカッションができたのも印象的でした。
🔧 実際の業務内容と技術的チャレンジ
-
担当したプロジェクト : AI行政、パブテクアプリ
-
使用技術・ツール :
分野 使用技術・ツール フロントエンド Next.js, React, TypeScript バックエンド tRPC, Node.js, Prisma インフラ Docker, Terraform, GCP, GitHub Actions モニタリング等 Sentry, Grafana, Redash 開発支援 Notion, Orval, Dify, Windsurfなど -
技術的に難しかった点: これまでのインターンで取り組んだタスクの中で、圧倒的に時間がかかり、かつ苦戦したタスクを挙げるとそれは、Playwrightを使ったE2E(End-to-End)テストの導入・実装でした。個人開発のアプリケーションといった小さなものではなく非常に大規模なプロダクトなのでこういった品質を担保するテストを導入する必要性は十分理解できるものの、いざ実装を自分に頼まれた時は「大丈夫かな」と少し不安でした。
具体的な課題として以下がありました:
- Playwright自体が初めて使うツール
- GitHub ActionsでのE2EテストCI/CDを0から構築
- SSEを含む複数のtRPC APIのモック実装
このような巨大なタスクを扱うのは、当時の自分にとって大きなチャレンジでした。
-
どうやって解決したか: 実際、これらの開発を進める上で、様々な課題に直面してきました。
具体的には、- CI/CDのフローがGHA上で動作しない
- APIがmockできない
- SSE処理を期待通りにmockできない
などといった問題がありました。
そこで自分が取った解決策としては、自分で調べるのは前提として、メンターであるテックリードのエンジニアに軽くアドバイスをもらいながら、その問題の根本的な原因を徹底的に突き止めることに注力しました。 このツールってそもそもどういう仕組みでどう相互に関係し合って動いているのか、このエラー文は何を意味しているのかを段階的に理解しながら進めていくと、ふとした時に原因を特定できるようになっていました。基本中の基本ではありますが、実際のところ疎かになりがちなことでもあるのでそこを再度意識してエラーと向き合っていました。
📚 得られた学び・成長
🔸 技術面
-
新しく学んだ言語・フレームワーク・ツール: React, TypeScript, tRPC, Prisma, Docker, GitHub Actions, Redash, Sentry, Grafana, Orval, DifyやWindsurfなど
そして技術だけでなく、設計思想も大きく学べました。特にDomain-driven Design(DDD)やClean Architectureといったモダンな開発手法に触れ、単なるコーディングから「設計を意識した開発」へと視点が変わりました。 -
コードレビューや設計における気づき:
-
コードレビューに関して:自分が書いたコードはメンターの人がしっかりレビューをしてくださり、なぜこれが必要なのか、ここはこうした方が良いのではないか、といった深掘りや、客観的な意見がもらえるので新しい視点で自分のコードを見直す機会が作れていました。また、他人が書いたコードを見るといった機会もあまりなかったので現役のエンジニアがどのように考えてコードを書いているのかを生で見ることができたので新たな洞察を得ることができました。
-
設計に関して:インターンをしている中で、自分で初めてアーキテクチャーの選定をする機会をいただき、プロダクトを作る上で何を意識して設計をしているのかを学ぶことができました。具体的に言うと、
- 使用するツールの候補をいくつか挙げる
- それぞれのメリット・デメリットの分析
- 今あるプロダクトに欲しい機能を備えているか
- そのツールを使った時のトレードオフは何か
さらに実装後の運用・保守についてなどをしっかり事前に調査した上で、実装に進むという詳細なフローを学びながら自分で実際に設計に取り組むことができました。
-
🔸 ソフトスキル面
-
チームでのコミュニケーションから得たもの: 少数精鋭のエンジニアチームということもあり、手取り足取り教えてもらえるというような環境ではなかったです。が、むしろその環境の方が自分にとって必要だとインターンを探していたときから感じていたので、何一つ不満はありませんでした。
そのおかげで普段の開発で遭遇したエラーや不明点は、まず自分で公式documentやZenn, Qiitaなどに載っていないか調べて考えてみる、というステップを毎回踏むようになりました。
とはいえどうしても検索では出てこないような複雑な問題にもぶつかるのでそういったときには、遠慮せずメンターの人からヒントやアドバイスをもらうようにしています。そして、質問する際にもしっかり言語化して自分はどこまで解決できて、何がわからない・できないのかを明確化してから聞くようにする力がつきました。 - タスク管理や時間管理での工夫: メンターさんのエンジニアからいただいたフィードバックが非常に印象的だったのでそれを記載します。それは自分に求めているものは最低限度の品質であり、コード書けたら終わり、CI通ったら終われるほど簡単な業務ではないということでした。そのアドバイスを受け、自分は技術力もまだまだなので、マルチタスクではなく一つ一つのタスクに真剣に向き合うように意識していました。また、タスクを遂行する前の段階で、事前にしっかりと調査をして課題や実装方法などをまとめた仕様書を作ることを意識していました。
🔍 反省点・改善点
- もっとこうしておけば良かったと感じたこと: TypeScriptをフロントエンドでも、バックエンドでもフルに使う開発現場だったので、もう少し言語に対する前提理解があればより早く、深いところまで扱えたのではないかと感じます。
- 今後のインターンや実務で活かしたいこと: このインターンで初めてDDDの概念を知り、開発でも使用していたので今後の実務ではドメインの理解を深め、コードに適切に落としこむということをもっと意識して開発に取り組みたいです。また、今回のインターンでTypeScriptを中心に様々な技術に対する理解が深められたので、今後も普段から書籍などで学びつつ個人開発でアウトプットをして今後の開発現場でさらにレベルアップしていきたいと思っています。
💬 これからインターンを目指す人へのメッセージ
-
応募前にやっておいてよかったこと: 普段から自己理解に努めていたことです。自分の過去や何に興味を持っているか、将来どんなエンジニアとして活躍したいかを明確にしておいたことでより自分のことを知ってもらえたり、その成長のために必要なことをインターンの業務でも取り入れてもらえました。
-
実務に入ってから意識すべきこと: メンターさんが言っていた、「常にプロとしての意識を持って開発に取り組む」 ということです。インターンだからいいや、ではなく一人のエンジニア、そしてこの会社の1メンバーとして日々の業務に真剣に取り組むことが大事なんだなと感じました。
-
個人的にインターンを通して感じた「価値」: すごく個人的な話にはなってしまいますが、このインターンに参加して、自分の価値観が大きく変わったなと思うことがあります。それは、
『日本にはこんなに面白いことに挑戦している企業があるんだ。日本にもまだ可能性があって捨てたもんじゃないな』 という考えが生まれたことです。この十数年、日本社会では、常に 「閉塞感」や「成熟した」あるいは「失われた30年間」 などといった言葉が叫ばれてきました。そういった現状もあり、日本で生活している間に自然と自分の中で日本の企業で働くことに対するネガティブな考えが植え付けられていました。(これ以上の個人的な見解はここでは省きます。)しかし、この企業に入ってインターンをしている中で行われた社内でのミーティングや合宿といったイベントなどで社長、副社長をはじめ役員の人たちが日々考えていることなどを共有しているのを聞いてその壮大さに驚かされました。
そして、気づけば自分も 『日本人としてもう一度この国日本を再興したい、活気づけたい』 といった気持ちが芽生えていました。
この気づきを得られたのはこの企業なしでは絶対に無理だったなと思っています。エンジニアとしての技術力だけではなく、今後社会に出て働いていく上で、自分のコアとなる大事な価値観を築くことができました。このインターンで、お金には代え難い、何よりも大切な価値を見い出すことができたと思っています。
🏁 終わりに
-
一言で表すと、このインターンはどんな経験だったか: 他のインターンでは決して味わうことのできない、刺激的で濃い経験でした!この企業をインターン先として選んで本当に良かったです!
-
今後の目標・進路について:
- 今後の目標としては、このインターンで培った技術スキルを活かしてバックエンドをメインに更なる技術力の獲得を目指したいです。そして自分の理想のエンジニア像である、『圧倒的な技術力を持ちながらも、0からプロダクトを生み出す上流の工程で設計に携われるエンジニア』 になるために、現状から逆算して自分に今何が足りていないかを日々分析して自己学習を積み重ねていきたいなと考えています。
- 進路としては、小さい頃からの夢であったシリコンバレーでのエンジニアキャリアを実現したいと言う願望がありつつも、昨今の米国情勢も踏まえ、状況に応じて柔軟にキャリアの選択肢を取っていきたいと考えております。就職先がアメリカの企業であろうと日本であろうと、どちらにしてもこの海外留学で得たグローバルなマインドセット+技術力を活かして企業に貢献していきたいと思っています!
そして5年後10年後には、今度は自分が大きな目標を掲げ、日本を変えるGame Changerとして活躍できるエンジニアになれればなと思います!
この4ヶ月間のインターンを通して、まだ途中段階ではありますが、技術面・マインド面ともに大きく成長できたと実感しています。残された日本滞在期間はあとわずかですが、この経験を礎にしながら、今後はさらに実務力を磨き、世界で通用するエンジニアを目指して一歩一歩進んでいきます!
最後まで読んでいただきありがとうございました!
皆さんのモチベーション向上、今後のインターンや就活の役に少しでも立てれば光栄です!
そしてパブテクの皆さんには多大な感謝をしております!本当にありがとうございます!
Discussion