目次
はじめに
この記事を書く背景
後輩や知人から就活について聞かれることが増えていく中で、自分の経験をオープンにしていなかったことに気付いた。そこで本記事を執筆することにした。
この記事の特徴
- 1年ごと(大学1年〜大学院1年)の時系列で、実際の経験を書き残している
- すでに多くの就活体験記が出回っているが、本記事は「1つのサンプル」として参考になると幸いである
- 時間がない方は、「スペック」と「まとめ」だけ読めば十分
筆者について
- 卒業年度: 26卒
- 学歴: 2020年入学、大学院進学(2024年12月に就活終了)
- 対象読者: 26卒以降のエンジニア志望者向けであるが、25卒以前の者にとっても26卒のエンジニア就活事情を知る上で参考になることを望む
本記事の対象者
- メガベンなど規模が大きい企業のエンジニアになりたい人
- 研究者やセキュリティ、インフラ寄りのエンジニアよりも、とにかくアプリを作りたい人
- 就活の仕方などに不安がある人
- 大学からプログラミングを始めた人
- どんなエンジニアが企業に求められているのかがわからない人
- 周りにあまりエンジニアなどがおらず、情報収集が不安な人
筆者のスペック
大学1年時
- 地方国立大学生
- 大学からプログラミングを始めた理系出身者
- 数学と物理は得意だったが、他の科目は平均以下レベル
- 語彙力がなく、人とのコミュニケーションは苦手意識があった
就活終了時
- 26卒、メガベン内定獲得
- メガベン、プライム上場企業などを含む20回ほどの面接で一度も落ちていない
- 人との会話に苦手意識はなくなった
- インターン経験3社(合計で3ヶ月程度)
- 開発アルバイト経験2社(合計で2年半)
大学1年次
まとめ
- プログラミングに興味をもつ
- 数学好きだったため競プロにハマり、AtCoder緑色に到達
- プログラミング仲間と出会う
前期は普通に授業をこなしていた。特に優秀でもなく、成績は平均的。
夏休みに時間ができたので、授業で紹介されていたAtCoderという競技プログラミングに挑戦することにした。友人に話すと、彼は既に競プロ歴1年以上で色は緑色(就活のアルゴリズム試験では無双できるレベル)だった。
その友人と、もう1人優れたコーディング力を持つ人などと出会い、合計4人で競技プログラミングサークルを立ち上げた。
彼ら2人は高校からプログラミングをゴリゴリやっていて、競プロ以外にWeb開発も得意だった。
僕はアルゴリズムを徹底的に勉強して、4ヶ月でAtCoder緑色を達成することができた。AtCoderのマイページ
当時はAtCoder Problemsという競プロの過去問が掲載されているサイトを使って、1日15問解くという生活を続けていた。
大学2年次
まとめ
- 競プロから離れてWeb開発に興味を持つ
- 開発アルバイトに臨もうとするも、一才採用されない時期が続く
競プロがある程度できるようになって、次は水色を目指すつもりで頑張っていたが、Web開発に長けた友人が開発アルバイトで業務経験を積んでいる姿を見ていると、「ただアルゴリズム力だけをこれ以上鍛えても何があるのだろうか」と考えるようになった。
もちろん競プロが意味のない行為なんてことは一切思わない。こういったアルゴリズムの知識や思考力といったものは開発においても必要なはずだ。
とはいえこの辺りから確実に「就職」を意識して活動をするようになったと思う。
その思いで一旦始めたWeb開発は非常に楽しかった。やったことは非常にシンプルでProgateでHTML、CSS、JavaScript、PHPなどを学習したり、自分でも簡単にJSでWebアプリを作ったりしていた程度だ。
興味本位でUnityで簡単な2Dゲームなども作ったりした後、自分も業務経験が欲しいと思い、開発アルバイトに応募し始めた。
結果はなんと惨敗…!!5社ほど受けたが面接にすら進めなかった。
なぜ落ちたのか:根本的な問題
失敗の原因は主に2つ:
-
学習方法が「正解写し」になっていた
- Progateは「正解が与えられている課題」
- 競プロも「正解が決まっている問題」
- しかし実務では「複数の選択肢から最適なものを選ぶこと」が必要
- 採用担当者にとって「この子は実務で通用するのか?」と思われたと考えられる
-
焦燥感による悪循環
- 基礎が浅いまま、トレンド技術(Reactなど)に手を出す
- JSやネットワークの知識が不十分
- 理解できないまま時間だけ経つ
- さらに焦燥感が増すという悪循環へ
大学3年次
まとめ
- 大学発ベンチャーに開発アルバイトとして採用される
- 大院は行くつもりではあったが、就活してみた結果またしても惨敗
- 過去やったことを一旦忘れて基礎から勉強やり直す
- 徹底的に自己分析を行い、目標とロードマップを明確にした
Web開発エンジニアを目指す気持ちを周りに言っていたところ、大学院の先輩から大学発ベンチャーの開発アルバイトを紹介してもらい、無事採用された。
このベンチャーでの経験
- 小規模だがアプリ開発を経験
- 使用技術:JS、TS、React、Laravelなど
大学院進学予定だったが、一応経験として就活に挑んでみた。結果はまたしても惨敗…!!!
メガベンなど有名企業を狙っていたが、全て落ちた。
3年次の就活に失敗した理由
-
スペック不足
- 開発経験:半年足らず
- プログラミング以外での実績がない
- 競争相手(他の就活生)に大きく劣っていたと思われる
-
ソフトスキルの欠如
- チーム開発経験が浅い
- コミュニケーション能力が弱い
- 言語化能力が乏しい
-
準備不足
- 面接練習をしていない
- ES添削などもしていない
同じ時期、学部卒で就職する他のエンジニア志望が内定を得ていく中、3年の12月、私は思いっきり現実に打ちのめされていた。
今思えばここが大きな分岐点であったように思うが、この瞬間私は全て吹っ切れたような感情が起きた。
過去やったことを一旦全て忘れて、徹底的に自己分析を始めたのだ。
自分に問いかけた質問
- 何に詳しいエンジニアになりたいのか?
- どんな会社で働きたいのか?
- 誰にどんな価値をもたらしたいのか?
- 自分は何ができて、何ができないのか?
- 何をしてる時に楽しくて、何をしてる時はつまらないのか?
- 自分に今必要なスキルは何か?
- どうすればそのスキルを身に付けられるか?
こういった問答を繰り返すことで、目標とロードマップが次第に明確になっていった。
ちなみに就活をやっていたことで、本命の就活が始まるのは大学院1年になる直前の2月中旬くらいだと気づいていた。
つまり自分が就活開始までに準備できる時間はおおよそ1年と3ヶ月となり、これは思ったよりも短かった。
この辺りの話は少し長くなるので、この後の3年の1月から4月にかけてのことを、大学4年時の話に混ぜて書こうと思う。
大学4年次
まとめ
- 研究室配属、自然言語処理(言語関連のAI分野。ChatGPTの文章生成もこれに含まれる。)の研究を始める
- 積み上げた基礎をもとに開発物を量産
- 秋から新たなベンチャーで開発アルバイトを開始
研究室配属があり、自然言語処理の研究を始めた。研究で手を抜いていたわけではないのだが、就活時に研究の話は一切しなかったので、ここでは詳細を割愛する。
さて大学3年次からの続きだが、就活までの残された1年と3ヶ月で自分のやるべきことは以下として設定した。
- チーム開発経験を業務経験として得る
- 業務で通用する開発力にしていく
- 特に業務におけるコミュニケーション能力を高めたい
- Web開発における基礎知識を改めて身につける
- 個人開発成果物を増やしながら
思いの外時間が無いと分かったが、今の状態で開発アルバイトとして応募してもまた落ちまくると予想した。
半年間は研究を進めながらも、個人開発に集中することにした。
4年生までに作ったアプリ(10個以上)
これらを通じてネットワークとWeb技術の基礎を確実に身に付けた:
- 生のPHPでチャットアプリ
- → 同じものをLaravelで作り直す(フレームワークの理解)
- 生JSで単純なゲームアプリ
- 音ゲー練習用シミュレーションアプリ
- Vue3でポートフォリオサイト
- Flutterでデモアプリ(曲検索、DBに20曲程度)
こうした経験と、過去の競プロ、業務経験で鍛えたスキルを組み合わせて、無事に東京のベンチャー企業で開発アルバイトをさせてもらえることになった。
今でも本当にこの企業には感謝をしており、VueやTS、Java、Oracle DBなど幅広く技術を学ばせてもらっただけでなく、チームにおける開発の進め方、自分の考えを言語化する力などのソフトスキル面でも大きく成長させてもらった。
ベンチャーで働かせてもらっている間は、とにかくここでソフトスキルと開発力を鍛えるつもりだったので、あまり就活のことは意識しすぎず、自分の受け持ったタスクをとにかく一生懸命こなす日々を送っていた。
補足情報だが、この頃は学部の単位を全て取り終わっていて、週に1回だけゼミという名の作業報告会のために大学に行くだけだったので、週6はこうしたWebの勉強と業務に勤しんでいた。
大学院1年次
まとめ
- 就活開始
- Webエンジニアとしてサマーインターン3社に参加
- メガベンなど複数社から内定獲得
大学院1年生になる直前の2月中旬ほどに、私の就活が開始された。
サポーターズというエンジニア特化型の就活サービスに登録していたので、そこからサマーインターンに向けた企業との1on1面談イベントの連絡が来て、そこから具体的に就活に向けて行動を開始した。
この面談イベントは、20人ほどの学生と10社の企業が集まって、学生は10社に企業と25分ずつ面談していくというものだ(一日で10社の企業と連続で面談なので、とんでもなく疲れる)。
書類審査のようなものがあるので受かるか少し不安だったが、無事に参加できることになった。(これは後から聞いた話だが、この時の面談イベントは倍率が5倍を超えていたらしい)
この面談イベントで3社に興味を持ち、そのサマーインターンに応募した。
もちろん100%受かるものでもないので、他の企業とも並行して面接をこなしていたが、ありがたいことに上記の3社全てに受かることができたので、サマーインターンはその3社に参加した。(3日間の短期インターンのものと、三週間のオフラインインターン、あとは1ヶ月の就業型インターンだ)
その後、その3社の本選考を受けて、無事第一希望の会社から内定を頂いたので、そこで就活を終えた。
就活時に意識したことなどは色々あるが、正直そこまで特別なことはしていない。面接練習も特段してなければ、ES添削などをしてもらったこともない(とはいえ練習したほうが絶対に良いものになると私は思っている)。
エンジニアの新卒就活は、就活が始まる前に勝敗が9割以上決まっていると言っても過言ではないと思う。もちろん他業界でもそうだと思っているが経験していないので強く言えない。
そのため「就活時にやるべきこと」みたいなことは本記事では一切フォーカスしない。
最終まとめ & 就活Tips
最終まとめ
大学生活を通じた試行錯誤の経験から、以下の2点が重要であることに気付いた:
-
大学3年次の失敗が転機となった
- 自分の能力が通用しないという現実を受け止めた
- 徹底的な自己分析を行い、目標とロードマップが明確になった
-
行動することの重要性
- 遠回りもあったが、常に前に進んでいたため、軌道修正する機会が生まれた
- リカバリーが可能だったのは、早い段階から動いていたから
Tip 1: 同期の実務経験者は非常に少数
実際、情報学部生で5%未満と言われている。半年以上の実務経験を持っている学生となるとさらに希少である。
このため、業務経験があるというだけで凄まじいアドバンテージになる。
Tip 2: 就活スケジュールは決まっている
26卒ならば24年1~2月頃から開始される。この時期の重要性を以下に示す:
就活開始時の現実:
- この時点以降、面接とESが殺到する
- スキル完成までの準備期間が限定される
- 後々の追い込みでは間に合わない可能性が高い
必要な対応:
- 就活開始までに技術力を磨き上げておく
- 時代に応じた最新情報を常に入手する
- 最低限、大学1年生の時に就活サイトに登録しておく
Tip 3: スキルは「なりたい姿」から逆算する
スキルは多種多様に及ぶので、なりたいエンジニア像から逆算してスキルを身につけるべきだ。
就活時に求められる3つの要素:
- 技術的な経験と深さ
- コミュニケーション能力
- 主体性と行動力
これらは短期的には身につかない。
推奨される戦略:
- 汎用性の高い基礎知識を固める
- ネットワーク、DB、HTML/CSS/JS、パッケージ管理など
- なるべく特定の領域に深く取り組む
- 広く浅い知識よりも、狭く深い専門性が有効
Tip 4: 面接では「この企業で自分はやっていける」ことを証明する
採用担当者の頭の中を理解することが重要:
採用担当者が考えていることは大体以下の通り:
- 本当に自社を選んでくれるのだろうか
- 入社してからもやっていけるのだろうか
- 不適切な学生を通すと、上層部から指摘される
- 異質な学生に内定を出すと、既存チームに支障が出る
これを踏まえた対応:
面接における4つのポイント:
- 技術力は誠実に話す → 嘘偽りなく、正直に伝える
- 自然体で話す → 作り込まれた回答は見抜かれる
- 質問には単刀直入に答える → 明確で簡潔な応答
- 逆質問を活用する → 自分のやりたいことが実現できるか徹底追求
Tip 5: 企業分析は「やりたいこと分析」から始める
よくあるケース:
- 年収や福利厚生、勤務地ばかりが基準になる
- 見つかった各企業が同じような環境のように見えてしまう
- 結局どこに行きたいのか判断がつかなくなる
推奨される企業分析手法:マトリックス分析
- 縦軸 → 自分が求める環境を列挙
- 横軸 → 気になる企業を列挙
- 評価 → 各企業が条件を満たしているか判定
このアプローチの利点:
- 気になる企業が増えても、単に横軸を追加するだけでよい
- 企業分析が効率的に進む
- 自分の判断軸が常にぶれない
最後に
エンジニア就活で重要なのは「事前準備」と「自己認識」である。
エンジニア就活は、大学入学時から既に始まっていると言える。