Advent Calendar 2025特設サイト
第二の人生の始まり

CADからコードへ:ある機械系エンジニアの100回目の挑戦
プロローグ:図面を描く手が、コードを紡ぎ始めるまで
初めまして。Tcu adventar calendarの5日の枠担当のプムソンです。
東京都市大学機械工学科を卒業し、中堅の機械設計派遣会社でCATIAを使い、日々機械部品のモデリングに従事していた。しかし、ある日ふと気づいた。本当にやりたいことは、これではないのかもしれないと。
振り返れば、高校時代、コンピュータ工学科と機械工学科の間で迷っていた。当時の韓国では、電気・化学・機械が就職の三大分野と呼ばれ、IT業界はブラック企業が多いという認識が蔓延していた。そんな社会の風潮に流され、機械工学科を選んだ。しかし、2年生になる頃には、自分の心が別の場所にあることに気づいていた。興味もなく、理解することも困難な四大力学を中心に学びながら、ただ卒業証書を手にするためだけに4年間を過ごした。
第1章:転機となった、ある夏の午後
2025年6月、運命の出会いがあった。
大学2年の時にサークルで知り合った友人と、代官山のカフェで再会した。彼はIT SaaS業界で働いており、40代の平均的な会社員が得る年収を、若くして手にしていた。
「今日はここで仕事してるんだ」
彼はスターバックスでMacBookを開き、時間と場所に縛られることなく、自由にウェブサイトをデザインしていた。Canvaを使いこなし、Vue.jsで構築された彼のポートフォリオサイト「manapuraza」は、統一感のあるデザインと洗練された技術の結晶だった。
その瞬間、私の中で何かが動き始めた。
「こんなウェブサイトを、自分も作ってみたい」
24万円という、当時の私にとっては大金を投じて購入したMacBook。しかし、その使い道といえば、Safariでユoutubeを見ることくらい。せっかくのMacBookなのに、その可能性の1%も使っていない自分が情けなかった。
第2章:最初のコード、最初の感動
「まずはVSCodeをインストールしてみて」
友人の指導は実践的だった。大学でC言語を学んだ経験はあったが、それはウェブサイト上でコードを書く程度の経験でしかなかった。本格的なIDEやコードエディタに触れるのは、これが初めてだった。
そして彼は、Copilotという魔法のようなツールを教えてくれた。頭の中にあるアイデアを、コンピュータが理解できるコードに変換してくれるAIアシスタント。HTMLもCSSもJavaScriptも知らない私が、ジュニア開発者が数ヶ月かけて作るようなウェブサイトを、たった一日で形にできる。
新しい世界が目の前に広がっていた。
「でも、自分だけしか見られないウェブサイトに何の意味がある?」
友人はVercelの使い方を教えてくれた。そして、Gitの基本的なコマンド:
git commit -m "first commit"
git push
この3つのコマンドが、私の人生を変える魔法の呪文となった。
初めてコードを書いたその日、興奮で胸が高鳴り、二子玉川のスターバックスで夜10時まで没頭していた。友人とのコラボレーション、彼が実装した言語切り替えボタン、プルリクエストとマージ。すべてが新鮮で、すべてが輝いて見えた。

初めて完成した画面

時計を追加した画面(今考えてみるとなんで実装したかよくわからない)

youtubeのサムネールも追加した。
第3章:バイブコーディングの日々
会社から帰宅すると、私は別の人間になった。
昼間はCADで図面を引き、夜はコードを書く。自嘲的に「バイブコーディング」と呼んでいたが、心は真剣そのものだった。TouchDesignerでホログラムエフェクトを作り、Unityで3Dアバターをカスタマイズし、AIチャットボットとポートフォリオサイトを構築する。
気がつけば、10個近いウェブサイトを運営していた。最も力を注いだポートフォリオサイトは、新旧バージョンを合わせて150回以上のコミットを重ねた。0.0.1レベルの小さな更新を100回、0.1レベルの中規模更新を50回、そしてメジャーアップデートを1回。
韓国のキャンプ用品クラウドファンディングプロジェクトの支援を通じて実務感覚を磨き、Obsidianの CSSカスタマイズで要件定義のためのメモ環境を整え、日本の基本情報技術者試験の勉強も並行した。
「思考できるものは、すべて実現できる」
2025年11月現在、それは現実となった。まるで過小評価された株式を見つけたような、そんな感覚だった。
初めての中規模アップデート
ポートフォリオが日々追加されていく様子
第4章:100回の扉を叩いて
「機械工学科出身が開発者ですか?」
最初の面接で聞かれた言葉は、その後99回の面接でも繰り返された。
「なぜ会社をすぐに辞めたのですか?」 「関連経歴がありませんが...」 「なぜ今更専攻を変えようと?」
履歴書は絶え間なく修正した。最初は機械工学のプロジェクトを強調し、後には独学したプログラミング経験を前面に出した。C、Python、JavaScriptで作った小さなプロジェクト。Next.jsフルスタックフレームワークで構築したアプリケーション。すべてを順番にポートフォリオに追加していった。
7月から11月まで、韓国に滞在しながら日本企業の面接を受け続けた。システム開発からデータエンジニアまで、年収400万円以上の企業を中心に応募した。
100社に応募して、一次面接に呼ばれるのは約50社。 二次面接まで進むのは25社。 最終的に内定を得たのは、たった1社。
韓国では、ブートキャンプ卒業生やソウル大学コンピュータ工学科卒業生でさえ就職に苦労している。そんな中、機械工学科出身の私が日本でチャンスを掴めたのは、奇跡に近かった。
javascriptで作ったかっこいいデザインのポートフォリオ
結局はグリッド形に戻ったけどね...
第5章:転換点、そして光明
70回目の面接あたりから、何かが変わり始めた。
「学びます」ではなく「すでに学んでいます」と答えるようになった。 「機械工学専攻ですが」ではなく「機械工学の経験を活かして」と説明するようになった。
CATIAでの3DモデリングがUnity作業にどう役立ったか。TouchDesignerで視覚効果を実装しながらプログラミング概念をどう習得したか。クラウドファンディングプロジェクトを通じてどんな実務コミュニケーションを学んだか。具体的に、熱意を込めて語った。
「初心者ですが、学習速度は速いです。機械システムを理解する思考方式が、コードアーキテクチャの理解にも役立っています」
第6章:100回目の扉の向こう側
95回目の面接。 「ポートフォリオが印象的ですね。機械工学科出身でこのレベルなら...むしろ新鮮ですね」
心臓が高鳴った。
98回目で二次面接を通過。
そして100回目。最終面接だった。
「機械からITへの転換は簡単ではなかったでしょう。なぜこの道を選んだのですか?」
私は素直に答えた。
「深夜までコードを書いていて、ふと時計を見ると午前2時。疲れも感じませんでした。私はこんな仕事をして生きていきたかったんです。機械設計では諦めたくなる気持ちが湧きますが、コーディングは違います。デバッグが楽しくて、毎日新しい技術を学ぶことが本当に楽しいんです」
この時期、Webサイトに大きい変化が来た。 完全に新しいデザインのミニマリズムを追求してWebサイトに変えた。
以下は最新の様子だ

エピローグ:新たな始まり
合格通知を受け取った日、震える手でメールを開いた。
100回近い面接。 数百回の拒絶。 数百時間のバイブコーディング。
そのすべてが、この一通の合格メールにつながった。
11月から、私はもうCADエンジニアではない。ITエンジニアとして、Javaをメイン言語に、HTML、CSS、JavaScriptと共にフルスタック開発者への道を歩み始めた。今では条件文、while文、繰り返し文、メソッド、クラス、コンストラクタも書ける。HTMLもCSSも自分の手で書ける。簡単なウェブサイトなら一人で作れるようになった。
終章:恩返しと、これから
山下マナトは私の人生を変えた。
カフェで数時間かけて教えてくれたVSCodeとCopilotの使い方が、新しい職場を見つける鍵となり、今の収入源となった。彼への感謝の気持ちを込めて、「webplyzer」というマイクロSaaSサービスを作り、彼の業務で画像変換を楽にできるツールを提供している。
学んだ知識は独占せず、無料で共有している。父が運営する登山サークルのバナーやグッズをCanvaで作り、母校の学生のために授業評価サイトを構築し、Discordで使える勉強時間記録ボットを開発し、電気電子通信工学科の後輩にウェブサイト制作を教えている。
「勉強して人に与えよう」という言葉がある。自分だけが知っていても意味がない。
いつかプロジェクトリーダー、プロジェクトマネージャーになりたい。技術スタック、要件定義、設計ができるエンジニアになりたい。SpringやSpring Bootを深く学んで大規模SIerに行くのもいい。Next.jsやReactを極めてベンチャー企業のプロジェクトリーダーになるのも夢見ている。
2026年の目標は、基本情報技術者試験とAWS Developer Associateの取得だ。
機械工学科の学生だった私が、初心者コーダーだった私が、「バイブコーディング」していた私が、ここまで来た。
そして今、本当のスタートラインに立っている。
「思考できるものは、すべて実現できる」
2025年11月、東京にて
感想 (0)
最初のコメントを投稿してみましょう!