17日目 仕事としての React 編「今フロントエンドで仕事を得るなら React が近道と感じた」 2017年圧倒的成長振り返り一人アドベントカレンダー


この記事は ” 2017年圧倒的成長振り返り一人アドベントカレンダー ” の 17日目です。

https://adventar.org/calendars/2747

アドベントカレンダーに乗り遅れ、参加できそうなものがなかったので行われる、孤独な一人アドベントカレンダー。17日目の今日は、仕事としての React 編です。

今フロントエンドで仕事を得るなら React が近道と感じた

React, Vue, WebGL 等々、様々なフロントエンド技術の領域がありますが、今フロントエンドで仕事を得るなら React が一番近道だと感じました。その理由は簡単にいえば案件が多いということです。

https://medium.com/unicorn-supplies/angular-vs-react-vs-vue-a-2017-comparison-c5c52d620176

上記グラフは npm のダウンロード数です。npm ダウンロード数と実際に市場で使われている技術には一定の相関があるはずですから、三つの技術の比較の中で顕著に物量が多い React は、やはり仕事も多いのではないかと考えられます。2017年に仕事を探した際の実感も、この予想に一致していました。Vue や WebGL を指定した仕事よりも、React を指定した仕事の方が7倍くらい多かったです。

ただ、Vue や WebGL を使う案件が、ぼくのリーチできる範囲の外にある可能性もあります。ただそうだとしても、その状況は一部の人以外にとっては同じことだと思いますので、総合的にいって React のほうが案件が多いといえます。

自分は直近仕事になる技実を重要視している

どの技術を使用するか、もしくは学習するかの選定は、エンジニアにとって重要な意思決定な訳ですが、私はその指標として「直近で仕事になるのか」ということを一番に重要視しています。

なぜならエンジニアリングは私にとっては生業であり、生業の第一の目的は、要求される課題を迅速にこなすことで、対価を得る、ことですから、仕事にならないことはその範囲外です。(もちろん趣味としてのコーディングという要素が自分にないわけではないのですが、それよりも生業としてのエンジニアリングの割合が圧倒的に高いです)

また、仕事として使うのが一番技術を身につける近道だと痛感していますので、仕事として使う機会のない技術よりも、すぐに使う技術の方を優先することで、スキルが上がり、生業としての効率を大幅にあげてくれます。

生業としての効率が上がれば、空いた時間でさらに新しい技術にチャレンジする余暇ができます。

その技術で自分に仕事がこない物に関しては、自分にとってはオーバースペックな技術

また、すぐ仕事にならない技術に関しては「自分にとってオーバースペック、もしくは身の程知らずな取り組み」である可能性が高いと思っています。例えば今自分が AWS にかなりの時間を投資したとしても、インフラを構築する仕事は来ないと思いますし、できないと思います。反対に Node.js でサーバーを立てたり、REST API をつくる技術は、自分の仕事に直近含まれてくる可能性が高いの有効ですし、実際今よくやっています。こういったレベル感の技術が今自分が習得すべきものだと考えています。

React は自分にとってちょうどいいレベル

こういったことを考えると、React は本当にちょうどいいレベル感だったなと思います。まず根本的に今まで自分がやってきたフロントエンドという領域であり、HTML, CSS を書くという今まで自分がやってきた技術がそのまま有用するからです。そのうえで React の概念さえ抑えてしまえば、あとは調べながら実装できるレベル感。即仕事にすることができました。その結果、あとは業務で書いていけば自然と現代のフロントエンド開発にはキャッチアップできる目処が経ちました。

また React を軸に、サーバーサイド、非同期通信、テストツール、Docker 等のインフラ周りに触れる機会を、以前より圧倒的に増やすことができたので、技術的に学習する価値のある対象が、次のステップに進んだと言う実感があります。これらは React を仕事でやるまえには先ほど言及した意味でのオーバースペックだった技術です。やはり直近仕事になるところから抑えていくという戦略は有効だとおもいます。

次の展開

今使用しているものの、システム全体を一人で立ち上げられない技術に次のようなものがあります。これらを自力で全て実装できるようになると、次のレベルにいけるとおもうので、ここをおさえていきます。

  • DOM テストの自動化ツール
  • TypeScript による型、
  • Docker による開発環境

この記事は ” 2017年圧倒的成長振り返り一人アドベントカレンダー ” の 17日目です。

https://adventar.org/calendars/2747

アドベントカレンダーに乗り遅れ、参加できそうなものがなかったので行われる、孤独な一人アドベントカレンダー。17日目の今日は、仕事としての React 編です。

Leave a Reply

Your email address will not be published. Required fields are marked *