事務職とExcelマクロから始まった物語
中小メーカーの総務部に新卒で入り、私は2年間、契約書のファイリング、備品発注、請求書処理、勤怠集計といった事務業務を淡々とこなしてきました。プログラミングとは無縁の世界です。
転機は、月次の勤怠集計でした。100人分のタイムカードCSVを毎月Excelで集計するのが私の仕事で、関数とコピペで丸2日かかっていました。隣の席の先輩が「VBA書けば10分で終わるよ」と教えてくれたのが、人生で初めてコードに触れた瞬間でした。
書店で買った薄いVBA入門書を片手に、Sub・For・Ifを覚え、3週間後に自動化マクロを完成させました。2日かかっていた仕事が10分に縮んだとき、「自分にも“ものを作る”ことができる」と確信しました。これが、ITエンジニアを目指すスタートラインです。
ゼロからの独学で直面した壁
VBA以外のプログラミング経験はゼロ。文系出身、IT会社の知り合いもいない。会社の業務とまったく違うキャリアを目指すというのは、想像以上に孤独な戦いでした。
最初に手を取ったのは『1冊ですべて身につくHTML&CSSとWebデザイン入門講座』です。HTMLとCSSの基本構造、Flexbox、メディアクエリ、ボックスモデル。手を動かしてミニサイトを5つ作るうちに、ブラウザに自分が書いたものが表示されるあの快感が、独学の唯一の燃料になりました。
苦しかったのは、エラーが出たときに聞ける相手がいないことです。たとえばdisplay: flex;で配置が崩れたとき、原因は親要素のwidthか、子要素のmarginか、box-sizingか、判別できず1日溶かすことが何度もありました。
学習の型を作った3冊
転機になったのが『HTML5&CSS3モダンコーディング』です。実務水準のレイアウトを最初から最後まで写経する形式で、「現場のコードはこう書く」という空気を、独学のまま吸い込めました。LP制作、ブログレイアウト、ECサイト風UIを3つ写経した時点で、HTML/CSSの不安はほぼ消えました。
JavaScriptは『確かな力が身につくJavaScript「超」入門』から入りました。変数、関数、配列、オブジェクト、DOM操作、イベント処理。この本のいいところは、Excel VBAでの「マクロを書く」感覚と地続きで読めるところでした。私のように非エンジニア出身者には、最初の橋渡しとして抜群でした。
そこから一気に『プロを目指す人のためのTypeScript入門』へジャンプしたのは、正直早すぎたかもしれません。型システムの章で2回挫折しました。それでも、第2章までは何度も読み返すうちに、string | numberやPartial<T>が読めるようになり、Reactに進む地盤ができました。
ReactとNext.jsへ踏み込む
『TypeScriptとReact/Next.jsでつくる実践Webアプリケーション開発入門』を写経しながら、自分のポートフォリオサイトをNext.jsで実装しました。Server Componentがわからず3日詰まったり、useEffectの依存配列で無限ループを起こしたり、独学らしいトラブルを一通り経験しました。
テストの世界には『フロントエンド開発のためのテスト入門』で初めて触れました。Testing Libraryでコンポーネントの振る舞いをテストする経験は、「コードを書く」だけでなく「コードを保証する」プロのマインドセットを与えてくれました。
並行して、自作のサンプルアプリ3つをGitHubに公開しました。READMEを丁寧に書き、デプロイURLを貼り、技術選定の理由を書き、面接で見せられるレベルに仕上げました。
完全独学で得た転職
学習開始から1年2ヶ月で、Web系自社開発スタートアップから内定をいただきました。ポートフォリオの完成度と、「事務職時代に自動化マクロで業務改善した経験」を技術選定の動機として語れたことが評価されたと聞いています。
入社後はNext.jsのフロントエンド開発チームに配属され、最初の3ヶ月はメンターのコードレビューに鍛えられる毎日です。「独学で詰まった全ての時間を取り戻すように」レビューを糧にしています。
完全独学でこれから挑む人へ
独学最大の敵は、孤独と「これで合っているのか」という不安です。私の場合は、X(旧Twitter)で同じく独学中の人たちをフォローし、毎日学習ログを発信し、デプロイしたサンプルを公開し続けることで、自分を強制的に「作る側」に置き続けました。
書籍は、私のように知り合いがいない独学者にとって、もっとも信頼できる教師です。安易にネット記事だけで進めず、まずは1冊の本を最後まで写経することを、強くおすすめしたいです。