しかたらむーの てっくぶろ

組み込みソフトの古参エンジニアがモダンなフロントエンドエンジニアに転生 その進化の記録です

組み込みエンジニアがフロントエンドエンジニアに転生?

組込みソフトウエアの古参エンジニアが、ふとしたきっかけでモダンなフロントエンドをマスターすることを決意。しかし、実際にやってみると四苦八苦することだらけで最近のフロントエンドの技術レベルは相当に高いことを実感。その悪戦苦闘の経験や、そのときに感じたことなどを紹介したいと思います。

主に組み込みプログラミングの経験があり、これからフロントエンドもやってみたいと思っているがハードルが高そうと思っている方、情報が多すぎて散乱していてどこから手をつけたらよいか考えあぐねている方などの参考になればと思います。

動機、モチベーション

20年以上組み込みソフトウエアのエンジニアをやってきた自分が、なぜ今になってフロントエンドをマスターしたくなったのか?。

実は組み込みエンジニアって、その社会貢献度が一般の人からはわかりにくいんですよね。学生時代の友人同士の宴会なんかで、自分の仕事の内容を紹介したりするときに、飲食やアパレル、金融関係なんかの職業だと、話題は割と生活に直結していてみんなノリがいいですけど、こと技術の話になると反応が鈍くて盛り上がりません(泣)。

私は自動車の車載機器の組み込みソフトを長年やってますが、普段なじみの深い自動車関係であってもそうです。例えば最近話題の自動運転の話題でも、ちょっと技術的な話になると一般の人にとっては???でスルーされてしまします(当たり前か…)。

こんな背景から、なんとか身近な周囲の人達に少しでもプログラミングのことを知ってもらって、一緒に盛り上がれないものかと思案しました。(承認欲求強すぎ?)

結果、多くの人が普段から触れていてなじみがあるWeb系ならば少しは共感できるのでは?と考えフロントエンドをマスターしようと思い立ちました。こんな単純な動機だったのですが、実際やってみると技術的な裾野が広く、相当勉強になってます。おかげで今では技術の話で盛り上がることよりも、自分の技術的好奇心を満たすためにフロントエンドに没頭してます。

Javascriptをあなどってはいけない

フロントエンドといえばJavaScriptJavaScriptのプログラミングといえばエディタとブラウザされあれば開発とデバッグができる程度のノリでスタートしました。

組み込みやってきた古参エンジニアからするとエディタで書いて、すぐブラウザで見るっていう開発の流れは、素気ない感じでなじめませんした。やっぱり、make書いて、コンパイル、リンクしてターゲットに焼きこんでいざデバッグ....みたいな一種のリズムみたいなものがないと開発の実感がわかないなぁ~っと感じていたのです。

ですが少し調べてみると、モダンJavaScriptではビルド、デプロイ、デバッグの流れで組み込みと同じような手順が当たり前になっていることを知りました。やはりWebという進化の激しい分野では日々、色んな概念や用語、ツールの類が登場していて追いついてだけでも大変。加えてJavaScriptと他のオブジェクト指向言語との違いもあり、これまで全くなじみがなかった古参エンジニアにとっては敷居が高く、心してかからねばと改心した次第です。

実際、モジュールバンドラーやらミニファイするためのビルドツールやらやたらたくさんのツールがあってどこから手を付ければよいか迷って動けなくなってしまいました。

数多くあるツールチェーンを俯瞰してみる

そんな、あまたあるフロントエンド開発のツールを全て理解し使いこなすのを目標にするのはナンセンス。やはり、自分流の必勝パターンを確立するのが重要で、その為には数ある開発ツールの目的や位置づけなど全体を俯瞰し、目的に応じた自分に合ったツールを探し出して使い倒すのが最も大事だと思う。そんな自分にあったツールを見つけるまでは手あたり次第に触ってみるしかないでしょう。これが結構大変だけど楽しかったりするんですよね。

そこでおすすめなのが秀和システムの「 JavaScriptフレームワーク入門」という書籍です。ビルドツール、ライブラリ、フレームワークといろんな分野の代表的なツールについて説明や簡単なサンプルが載っていて全体を俯瞰するにはもってこいでした。

そんな数あるツールから私が選んだのはビルド・モジュールバンドラーにはnode,npm、フレームワークはvue。この組み合わせでスタートしてちょっとしたWebアプリの開発ができ、組み込み開発と同じ感覚で開発できるようになることを目指し自主トレを続けました。vueを選んだ理由や自主トレを通して培った個別の実装レシピは別の記事で紹介していきますので必要に応じて参照してください

フロントエンドエンジニアに転生するには

さて、つらつら書きましたが、がちがちの古参組み込みエンジニアがモダンなフロントエンドエンジニアに転生するにはそれなりの苦労が必要です。こんなん作るにはどうコーディングしたええんや?と悩み、七転び八起きしながら血肉を肥やしていく過程をたどらねばマスターできません。実はそれって、初めてプログラミングに触れたとき(初めてC言語アセンブラでプログラミングしたとき)に既に経験した道と同じなんですね。新しい知識を得て思ったとおりに動いたときの”よし!”っていう達成感を味わいつつ、転生を図り、みんなに振り向いてもらえるアプリを作っていきたいと思います。

 

長々と書きましたが、最後まで読んで下さりありがとうございます。

これからフレームワークにvueを選んだ理由や自主トレレシピの紹介など順次、記事を増やしていきますので、よろしければお付き合いください。ご参考になれば幸いです。