組み込みファーム屋が、40代からWeb開発を始めた話
長いあいだ、カメラの組み込みファームウェアを書いて仕事をしてきました。C言語で、限られたメモリと格闘しながら、ハードウェアに近いところで動くコードを書く——そんな世界です。そこから、まさか自分がWebアプリを作るようになるとは思っていませんでした。この記事では、畑違いに飛び込んで「地続きだったこと」と「戸惑ったこと」を、具体的に振り返ってみます。
畑違いに見えて、地続きだった
最初は「Web開発なんて、まったくの別世界だろう」と身構えていました。けれど実際にやってみると、根っこの部分は意外と地続きでした。
- データの流れを追って、状態を管理する
- 例外やエラーを想定して、堅く作る
- 限られたリソースの中で、最適な形を考える
組み込みで培った「動くものを最後まで作り切る」感覚は、分野が変わっても通用するものでした。特に、状態をきちんと管理するという発想は、組み込みのステートマシンも、Webの画面状態も、考え方の芯は同じです。「メモリが厳しいから無駄を削る」という癖は、Webでは「無駄なリクエストやレンダリングを減らす」という形でそのまま役に立ちました。
一番の壁は「作法の違い」
とはいえ、戸惑いも多かったです。組み込みの世界とWebの世界では、当たり前とされる作法がかなり違います。具体的に面食らったのは、こんなところでした。
- ビルドと依存管理:自前でツールチェーンを握る組み込みに対し、Web は
npmでパッケージを大量に入れる文化。最初は「こんなに他人のコードに乗っかって大丈夫なのか」と落ち着きませんでした。 - 非同期が前提:組み込みは割り込みこそあれ、基本は順番に動く世界。Web の
async / awaitだらけのコードは、最初うまく頭に入りませんでした。 - デプロイの手軽さ:書き込み機やフラッシュ手順と格闘していた身からすると、
git pushで本番が更新される世界は衝撃でした。
ひとつひとつは難しくなくても、「常識」が違うので、最初はいちいち立ち止まりました。ここを乗り越えるのに、AIとの伴走がとても助けになりました。「これって Web ではどう書くのが普通?」を、その場で聞きながら埋めていけたからです。
年齢は、思ったほど壁ではなかった
正直、「40代から新しい分野なんて」という気後れはありました。でも始めてみると、これまでの経験がむしろ効く場面が多い。設計の勘どころや、エラーと向き合う粘り強さは、年数を重ねたぶんだけ蓄積されています。新しい文法を覚えるスピードは若い人にかなわなくても、「何を作るべきか」を判断する力は、これまでの仕事で鍛えられていました。
それでも踏み出してよかった
新しい分野に飛び込むのは、正直しんどい場面もあります。でも、自分の「作りたい」という気持ちを、実際に動くプロダクトにできたときの楽しさは格別でした。年齢を理由に「今さら」と思う必要はないな、というのが今の実感です。学び直しで気づいたことは「中年から学び直して気づいた、3つのこと」にもまとめました。これからも、作りながら学ぶスタイルを続けていきます。