概要

この記事は、日本でソフトウェアエンジニアとして働いた後、アメリカの大学院の修士課程を経てシリコンバレーで就活をした体験談です。私は日本で自動運転ソフトウェアエンジニアとして約3年間働いた後に退職し、2024年8月にアメリカのコンピューターサイエンス系の修士課程へ進学しました。その後、現地でフルタイム就活に挑戦しましたが想像以上に苦戦し、途中でインターンシップ就活へと方針を変更しました。最終的にはWaymoでインターンシップをする機会を得て、インターンシップ終了後にリターンオファーを獲得することができ、2026年1月からWaymoで自動運転ソフトウェアエンジニアとしてフルタイムで働いています。

この記事では、シリコンバレーでのソフトウェアエンジニア就活が実際にどれくらい大変だったのか、なぜフルタイム就活からインターンシップ就活へ方針を変えたのか、そしてインターンシップからリターンオファーを得るまでの流れについて、自分の経験をもとに紹介します。また、最後の「まとめ」の章では、今回の経験を通して学んだことや、これからアメリカでソフトウェアエンジニアを目指す方にとって役立つと思ったリンクなどをまとめています。

※年度によってアメリカのビザのルールや採用市場の厳しさは変わるので、あくまでただの1つのデータポイントとして参考にしていただければと思います。

はじめに:シリコンバレーで働くために米国大学院へ

私は日本の大学院の自動運転研究室で修士号取得後、東京のWoven by Toyotaで自動運転ソフトウェアエンジニアとして約3年間働いていましたが、シリコンバレーでソフトウェアエンジニアとして働くという昔からの夢に挑戦するために、日本での仕事を辞めてアメリカの大学院に行くという手段を選びました。アメリカで就職するには英語力や実力も大事ですが就労資格をどう取得するかというのも重要で、私はSTEM系のF-1ビザ学生が卒業後に利用できるOPTとSTEM OPTという就労資格を活用するために、王道ルートの1つであるアメリカの大学院のコンピューターサイエンス系の専攻に進学することにしました。また、私はなるべく早く再就職したかったため、アメリカの大学院は博士課程ではなく(2つ目の修士号となりますが)修士課程にし、かつ2倍のペースで授業を履修することで卒業までの時間を通常の計4セメスター=約2年間から計2セメスター=約1年間(正確には約9ヶ月間)に短縮する計画で行きました。具体的には下記のようなスケジュールです。

  • 2024年8月〜2024年12月:秋セメスター
  • 2025年1月〜2025年5月:春セメスター
  • 2025年6月〜:卒業して就労開始

【参考】

シリコンバレーでのソフトウェアエンジニア就活に苦戦

しかし、シリコンバレーというかアメリカでソフトウェアエンジニアとしてフルタイムの職を探すのは非常に大変でした。渡米前から色々な方の話を聞いたり記事を読んだりしていてハードルが高いということは知っていたのですが、渡米後に実際にやってみると想像以上に大変でした。最も驚いたのは、「日本での職務経験があるにも関わらず応募しても返信がなくそもそも面接にすら進めない」という点です。世界中から似たような志を持って渡米してきた人が多くいるため競争率が異常に高くなっており、求人が掲載された瞬間に大量の応募が集まるため、応募するのが遅いと返信が来ず面接に進めないという事態になってしまいます。そのためアメリカの就活では色々な企業の様々なポジションにたくさん応募するのですが、他の人達も同じように応募しまくっているため結局どのポジションも応募が溢れ返っている…という生き馬の目を抜くような厳しい環境になっています。

そのような状況の中、私の場合は就活に十分な時間を充てられていなかったのが失敗でした。まず渡米前は本業に加えて東大松尾研で業務委託として携わらせていただいていたので、ビザ申請や入学手続きなどの渡米準備で手一杯で、レジュメ作成やコーディング面接対策などの就活準備には手が回っていませんでした。そして渡米後は前述の通り早く卒業するために通常より2倍のペースで授業を取っていたため、ただでさえ量が多い米国大学院の課題も同じく2倍の量を捌く必要があり、学業の方をこなしているだけであっという間に第1セメスター(約4ヶ月間)が終了し早くも残り1セメスター分(同じく約4ヶ月間)となってしまいました。ビザサポートが手厚いため大手テック企業への就職を志望していましたが、大手テック企業の新卒向けポジションの求人は企業によっては早くて卒業年の前年の夏頃から掲載され始めるので、第1セメスターが終了した冬頃の時点では既に約半年が経過しており、まだ募集中の新卒向けポジションの求人はもうほとんど残っていませんでした。それでもまだ残っている求人を見つけては応募していましたが、その求人が掲載されてから時間が経っていて応募が遅かったからなのか、応募しても返信はほぼありませんでした。

【参考】

  • アメリカでソフトウェアエンジニアの職を探した
    • アメリカでのソフトウェアエンジニアのフルタイム就活については、pco2699さんのこの記事が参考になります。例えば、2023年以降は採用市場が劇的に厳しくなった背景や、掲載されたての新鮮な求人にたくさん応募することの重要性などについて詳しく書かれています。

フルタイム就活からインターンシップ就活に方針変更

そこで、いきなりフルタイムの職を探す代わりに、一度インターンシップをしてリターンオファー(卒業後のフルタイムポジションの内定)を得るという方針に路線変更しました。卒業後のフルタイム就活が厳しいため在学中の夏休みにインターンシップを行いリターンオファーを獲得しておくというのは、アメリカの大学生・大学院生の間ではよく行われていることなのですが、前述の通り早く卒業するために当初私はあえてインターンシップをせずに=夏休みを挟まずに計2セメスターで卒業する計画でいました。しかし第1セメスターが終了した辺りでやはりいきなりフルタイム就活をするのは厳しいと判断したので、インターンシップを行うために=夏休みを挟むために卒業時期をもう1セメスター延ばし計3セメスターで卒業することに計画変更しました。具体的には下記のようなスケジュール変更です。

変更前

  • 2024年8月〜2024年12月:秋セメスター
  • <今ここ>
  • 2025年1月〜2025年5月:春セメスター
  • 2025年6月〜:卒業して就労開始

変更後

  • 2024年8月〜2024年12月:秋セメスター
  • <今ここ>
  • 2025年1月〜2025年5月:春セメスター
  • 2025年5月〜2025年8月:夏休み中にインターンシップ
  • 2025年8月〜2025年12月:秋セメスター
  • 2026年1月〜:卒業して就労開始

とはいえ、フルタイム就活と同様にインターンシップ就活も相当苦労しました。全米の大学生・大学院生が皆インターンシップにこぞって応募するため、基本的にはフルタイム探しのときと同じく、インターンシップ探しもなるべく掲載されたばかりのフレッシュな求人にたくさん応募することが重要になります。インターンシップポジションの求人は企業によっては早くて前年の8月頃から掲載され始めるので、第1セメスターが終了した12月〜1月頃の時点では既に出遅れており、インターンシップに応募し始める時期が遅かったためか返信率が低くなかなか面接に進めませんでした。(私の場合の返信率は周りと大体同じく、ざっくり応募100件あたり返信1件くらいでした。)

それでも諦めずにLinkedInや各企業の求人ページを毎日チェックし続けていた結果、偶然3月頃にWaymoで新しいインターンシップポジションの求人が出たのですぐに応募したところ、やはり募集が始まって早い段階で応募したのが良かったのか幸いなことに返信があり面接に進めました。WaymoのそのインターンシップポジションではWaymoソフトウェアエンジニアとのオンラインビデオ通話でのC++コーディング面接が2回あり、1回目はLeetCodeのようなデータ構造&アルゴリズムのコーディング面接でしたが、2回目は自動運転のドメイン知識を問うディスカッションをした後にそれを実装するというコーディング面接でした。ちなみにWaymoに限らず一般的に自動運転企業の技術面接では、LeetCodeスタイルの問題だけでなくロボティクス分野のドメイン知識に関する問題(例えば座標変換・幾何計算・画像処理・点群処理・機械学習など)もよく聞かれる印象なので、LeetCode対策に加えて別途対策が必要です。Waymoのそのコーディング面接では2回ともちゃんと答えられた感触があり、最終的にインターンシップポジションのオファーを貰えたので、5月〜8月はWaymoでインターンシップすることになりました。

【参考】

インターンシップ後に無事リターンオファーを獲得

そしてインターンシップ中は仕事にフルコミットした結果、コミュニケーションの取り方や成果を出した点などが評価され、インターンシップ後に無事リターンオファーを得ることができました。インターンシップは実際の働きぶりを約3ヶ月間にわたって長期的に見られるため、数回の面接で短期的に見られるのに比べて実力をより正当に評価してもらえるように感じました。特に実務経験が既にある私にとっては、インターンシップを経てリターンオファーを貰うというやり方はフィットしていました。

また、今回のリターンオファーの結果はインターンシップ終了後しばらくしてから出る予定とインターンシップ中から言われていたので、インターンシップが終了してからリターンオファーの結果が出るまでの間に再度フルタイム就活をしていたのですが、このときは面接に進める率が明らかに高くなっていました。(ちなみにリターンオファーの結果が出るタイミングはヘッドカウントの確保状況によるため、会社・チーム・年度などによって違うことがあります。会社によってはインターンシップ終了前に結果が出る場合もあれば、同じ会社でもチームによって結果が出るタイミングが前後する場合もあります。)恐らくWaymoでのインターンシップの経歴が効いたのか、応募後の返信率が上がっていて面接に進める回数が増えました。他にもTeslaやAppleといった有名企業のリクルーターの方からLinkedInでメッセージが届くという、これまでにはなかったことも起きるようになりました。とはいえ、フルタイムポジションの面接は大体4回〜6回ほどあり、かつコーディング面接だけでなくシステムデザイン面接やBehavioral面接などもあって難易度が高くなるので、個人的にはインターンシップからのリターンオファーを狙う方がおすすめだと思います。

【参考】

  • #2 ソフトバンクのネットワークエンジニアからMetaへ、レイオフを経て日本に帰るまで(@bamboo_steam)
    • 日本の会社→アメリカの修士課程→インターンシップからのリターンオファーという流れについて、私と同様の流れで就活したbamboo_steamさんが出演している回のpco2699さんのポッドキャストも参考になります。例えば、bamboo_steamさんが通っていた南カリフォルニア大学の修士課程では最長で計5セメスター=約2年半在学できるため夏休みが2回ありインターンシップの機会が2回得られる、というのはとても良い情報だと思います。

まとめ:それなりの覚悟と計画的な戦略が必要

周りも口を揃えて言っていましたが、シリコンバレーでのソフトウェアエンジニア就活は想像以上に大変だったため、それなりの心構えを持って計画的に行動するのが良いと思います。以下、自分の経験から学んだことや参考になったリンクなどをまとめています。

就活準備は渡米前から行うべき

レジュメ作成やコーディング面接対策などの就活準備は渡米前から行うのが良いと思います。レジュメの添削やコーディング面接の練習は一朝一夕でできるものではない上に、渡米後は大学院の授業や求人への応募などで忙しくなかなか時間が取りづらいため、可能であれば渡米前から始める方が良いです。

【参考】

  • ソフトウェアエンジニアリング協会
    • 元Googleの方々などが日本でソフトウェアエンジニア育成を行っている一般社団法人で、対面での勉強会やDiscordを用いたオンラインでのコーディング練習会などを行なっているので、渡米前から参加することをおすすめします。Discordには模擬面接チャンネルや米国就職チャンネルなどがあり、模擬面接を受けたり情報交換したりできたので、就活中は大変参考になりました。特にコーディング面接では「やっとの思いで面接まで進められたのだからここで失敗する訳にはいかない」という大きなプレッシャーのなか短い時間内に(しかも英語で思考プロセスを説明しながら)コードをある程度完成させる必要があるのですが、コーディング練習会で行うLeetCodeの反復練習がそのような状況下でもコードをスラスラと書き上げる能力を鍛えるのに非常に役立ちました。

インターンシップはおすすめ

インターンシップポジションの面接よりもフルタイムポジションの面接の方が難易度が高くなるので、インターンシップからのリターンオファーを貰うというのが個人的にはおすすめです。当初私は早く卒業するためにあえてインターンシップをしない計画でしたが、途中でインターンシップをする計画に変えて本当に良かったと思っています。なお、インターンシップ中は新しい仕事に慣れてかつ成果を出すというのを約3ヶ月間で達成する必要があるので、インターンシップ中の働き方はラストスパート型よりもスタートダッシュ型の方が評価されやすい=リターンオファーを貰える率が上がりやすいのかなと感じます。

【参考】

新鮮な求人にたくさん応募すべき

インターンシップ就活にしろフルタイム就活にしろ、面接に進める率を高めるにはなるべく公開されて間もない新しい求人に大量に応募するのが重要です。そのために、LinkedInなどの求人まとめサイトや各企業の求人ページを日々チェックするのが不可欠になります。(企業の求人ページによっては、新しい求人が出たらメールで通知してくれるジョブアラート機能があったりします。)また、詳しい方法は上記のインターンシップ就活についての記事に記載されていますが、応募後にLinkedInでリクルーターを見つけてコールドメッセージを送るというのも一定の効果があったように思えます。返信が来ないなか求人チェック・応募・コールドメッセージングを毎日続けるのは心が折れそうになりますが、それでもやり抜く必要があります。

【参考】

  • アメリカでソフトウェアエンジニアの職を探した(再掲)
    • アメリカでのソフトウェアエンジニアのフルタイム就活についての記事です。LinkedInで最新の求人を見つけてたくさん応募するコツ以外にも、レジュメの書き方から面接対策の仕方まで網羅しているので必読です。
  • Simplify
    • 応募しまくるのに便利なツールです。Copilotという応募時の手入力を自動化するChrome拡張機能と、Job Trackerという応募状況を管理するダッシュボード機能が便利でした。
  • SimplifyJobs/Summer2027-Internships
    • 上記と同じSimplifyが提供している、最新のインターンシップ求人情報を集めているGitHubレポジトリです。求人情報の内容は日々更新されており、リポジトリ名の年度部分は最新の年度に毎年更新されるようです。

博士課程の方が有利かも?

これは自分が実際に経験した訳ではないのであくまで勝手な想像ですが、学業の方が大変になる代わりに就活の方は米国大学院の修士課程よりも博士課程の方が有利かもしれません。特に自動運転企業のような専門性の高い分野のインターンシップ求人はMaster学生対象のものよりもPhD学生対象のものが多く、実際に私のWaymoのインターンシップ同期の間でもPhD学生の方が圧倒的に多かったです。(憶測ですが、日本の修士課程と違ってアメリカの修士課程は修士論文を必須としないコースも多いので、アメリカではMasterだけでは研究経験の程度が分かりにくいため専門性の高い分野ではPhDを対象とする求人が多くなりやすいのかな…と思っています。)

【参考】


本記事が今後シリコンバレーというかアメリカでソフトウェアエンジニアを目指す方の参考になれば幸いです。