3 years ago
近年、フロントエンドエンジニアの募集に、Reactのスキルを求める案件が目立っています。この、Reactとはいったいどのようなものなのでしょうか。
簡単に言うと、Reactとは、JavaScriptライブラリの一種で、Webサイト上でUIパーツを構築するために用いられ、React.jsと呼ばれることもあります。開発は、GAFAの一角であるFacebook社によるものです。フレームワークであるAngularJSやjQueryと比較されることがありますが、ReactはUIを構築するためのライブラリになります。
この、Reactを採用したサイトは、日常生活で頻繁に目にしているはずです。開発元でもあるFacebookやInstagramをはじめ、YahooやAirbnb、Netflix、Uberなど、Reactを採用しているサイトは枚挙に暇がありません。
例示したものはいずれも大規模な企業サイトで、その規模も大きなものです。Reactは部品を組み合わせる構築方法を採用しているため、全体の見通しがよくなり、運用やメンテナンスが行いやすいという特徴を持ちます。それが、大規模なサイトに採用される理由になっていると考えていいでしょう。
また、Reactには仮想DOMのレンダリング機構が備わっています。ゆえに、Webページの高速な表示が可能になりますし、Webページに変更があった場合に、ページ全体ではなく変更された差分のみを再表示することも実現可能です。ここまでの話で、洗練されたライブラリという印象を持つ人も、多いのではないでしょうか。
Reactエンジニアの主な仕事は、フロントエンド部分の開発です。これは、Reactがフロントエンドを作るためのライブラリであることから、容易に想像できるかと思います。
では、具体的にどのようなものを作るのでしょうか。基本的には、動きがあるWebサイトが開発のターゲットになります。あるいは、ある程度の複雑さを持ち、凝った見せ方をしたいWebサイトが開発対象になることもあります。
実のところ、一般的なWebサイトの拡張では、デメリットが生じることがあるためReactを採用することはあまりありません。多くの場合、新規開発になると考えていいでしょう。
案件ベースで見ると、Airbnbで実現しているような予約受付サービスが代表的なものでしょう。事例は多岐にわたっており、新しい発想が求められるゲームや広告関係のような既存業種のほか、仮想通貨取引といった、これまでになかった分野からのニーズも高まっています。
なお、案件ベースで見ると、既存の拡張よりは新規開発が目立ちます。大規模開発向けのライブラリで、実際に大規模なサイトで実績も豊富であるだけに、規模の大きな案件も多くなっています。とはいえ、規模の小さい案件がないわけではありません。
フリーランスエンジニアにとって、Reactの案件からはどのようなメリットが得られるのでしょうか。まず、挙げられるのは単価が高めであるということです。Reactは比較的新しい仕組みですので、需要に比較してエンジニアの絶対数が足りていません。それゆえ、案件単価は高めに設定されることが多くなります。
大規模なWebサイトの開発に適性を持つReactですが、その適性は中規模、小規模の開発でも十分活かされるものです。ゆえにReactを採用したWebサイト開発は多く、案件数は豊富です。フリーランスエンジニア側からは、より自分の特性にあった案件を選ぶチャンスがあるわけで、大きな魅力と言えそうです。
また、Reactは新しいライブラリで、APIも洗練されたものが提供されています。新しいながらも、世界的に広く使われている技術の習得は、フリーランスとしての市場価値を高めてくれます。エンジニアとしてReactの案件に携わることで、高い満足感を得ることもできそうです。
さて、Reactの案件動向について、もう少し掘り下げてみましょう。その際、必要となるのは近い技術の動向です。Reactに並ぶ新しい開発環境として、よく知られるのがAngularJSとVue.jsの2つのフレームワークです。
まず、Angularについて説明します。Angularの開発は、Googleと企業あるいは個人によって構成されるコミュニティによって行われています。最初の版であるAngularJSの発表は2009年で、2012年に最初のバージョンである1.0がリリースされました。
2016年には、アーキテクチャを新しく設計したバージョン2.0がリリースされました。このときにTypeScript仕様に変更され、名前もAngularに変更されたのです。以降、半年ごとにバージョンアップが行われ、2021年4月時点でのバージョンは11.2.9となります。
Angularの主要な使いみちはGoogleのサービスで、Google Analyticsなどが知られています。Angularは単体でフロントエンドの開発を完結させることができる、フルスタックのフレームワークです。ゆえに、使いこなせるようになるまでの学習コストが大きくなるという点に注意してください。
いっぽうでVue.jsは、ReactやAngularのように特定の企業が開発の中心となっているわけではありません。AngularJSを使用した開発に参与したエンジニアにより、2014年にリリースされたオープンソースのフレームワークです。
使いやすさを主眼に開発されており、シンプルなプログラミングが可能であることから日本国内でも人気が高まってきており、採用の実績も豊富です。2016年から2019年にかけて、GitHubにおいて最もスターを増やした「JavaScript ベスト・オブ・ザ・イヤー」に選定されたことからも、その人気のほどがうかがえるでしょう。
フリーランスハブで、これら3つの開発環境にまつわる、案件の動向を見てみましょう。ReactとAngularJSに関しては、スキルの選択肢として登録がされていますので直接の比較が可能ですが、Vue.jsに関しては登録がないため参考となります。
案件数ですが、Reactは2,252件、AngularJSは732件と、かなり大きな差がついています。Vue.jsはフリーキーワード検索で1,129件がヒットしましたが、あくまでキーワードを拾った件数ですので、前の数値と直接的な比較はできません。案件数ではReact優位と考えてよさそうです(2021年7月30日現在)。
単価について、レバテックフリーランスを見てみましょう。平均単価が算出されているのは、ReactとAngularJSで、それぞれ770,000円と740,000円です。単価の最高はReactが1,450,000円、AngularJSが1,050,000円、Vue.jsが1,150,000円となります。一方で、最低単価はいずれも400,000円前後で、大きな差はありません(2021年4月23日現在)。
フリーランスのフロントエンドエンジニアにとっては、新しい技術の習得はたいへん意味のあるものです。しかし学習コスト等を考えると、すべてを使いこなせるようにするのは、理想的ではありますが、現実には難しいため、何を習得するかは選択する必要があります。
ここで取り上げた3つの技術は、いずれも特長があり、どれを選択しても問題はないと言えます。なかでも、Reactについては案件単価や案件数といった面で優位性がありますので、Reactという選択は十分な合理性があると言えるのではないでしょうか。
レバテックフリーランスのReact案件検索結果によると、Reactのフリーランスエンジニア向け案件の平均単価は、770,000円となっています(2021年4月23日現在)。これはあくまで平均単価であって、経験年数によって、エンジニアの単価は上下します。
案件情報には、経験年数による単価の上下は明示されません。当然ながら、経験年数が短ければ単価は低く抑えられますし、経験年数が長くなれば、スキルレベルが向上した分、単価も上昇します。
一般的には、経験年数1~2年程度で行える仕事は、ウォーターフォールモデルで言うところの下流工程となります。経験年数3年程度からは徐々に上流工程の仕事を行えるようになり、5年を超えればかなり食い込めるようになっているはずです。
ここで、フリーランスならではの単価アップの方法があります。携わっているプロジェクトが終了した際に、次のプロジェクトではよりレベルの高い案件を選んで、単価アップを図っていくことです。
経験1~2年程度では低く抑えられているフリーランスエンジニアの単価は、経験3年を超えたあたりから上昇幅が大きくなり、5年を超えたあたりでは最初の頃の倍程度になっていることもあります。こういった形での単価上昇は、いくつかのプロジェクトを経験していく上で勝ち取っていくものです。スキルレベルを上昇させてきた日々の努力が認められるよう、動いていきたいものです。
未経験から、Reactエンジニアとして案件を獲得することができるのでしょうか。この、未経験にも「エンジニアとしての経験はあるが、Reactの経験はない」と「エンジニアとしてのまったくの未経験」があります。
残念ながら、完全未経験の場合は、いきなりフリーランスのReactエンジニアとして案件を獲得することはほぼ不可能と考えてください。Webの周辺には習得すべき技術が数多く存在します。それらが身についていない状態で、Reactを習得することには、困難がつきまといますし、採用側としても、その状態のエンジニアに魅力を感じるとは考えにくいでしょう。
しかしながら、エンジニアとしての経験があるのであれば、話は違ってきます。Web周辺の技術を持っていることが前提にはなりますが、基礎的な技術力を持っているのであれば、以下に示すような技術があれば、Reactの習得と案件獲得は難しくはないと言えます。
JavaScriptでプログラムを組むことができる人であれば、Reactの習得は比較的容易です。短期間の学習である程度使いこなせるようになるでしょう。
また、Reactは、AngularJSやVue.jsといったフレームワークと比較して学習コストが低いと言われています。これは、採用している企業が多いため、技術情報や自習教材が豊富であることも関係しています。こういったこともあり、JavaScriptを使いこなせる人であればReactの使いこなしに問題はないと、発注側も認識しています。
JavaScriptの経験がなくても、案件の獲得が可能な場合があります。Web周辺で使用されるプログラミング言語のうち、たとえばPHPやGo、あるいはRuby on Railsといったあたりのスキルが十分にあれば、Reactの案件で問題なく活躍できると判断されることが多いからです。
上に挙げた言語は、主にバックエンド開発で用いられるものです。バックエンドに精通していることで、Reactはある程度の学習で使いこなせると判断できますし、そのことは同時に、Reactを使うフロントエンドエンジニアとしての大きな強みになります。
比較的高単価の案件が多いReactのフリーランスエンジニアですが、収入を増やしていくには、React以外のスキル習得が有効になる場合があります。個別に見ていきましょう。
開発系のスキルで、まず挙げることができるのがSPAです。SPAとはWebページの動的生成手法のひとつで、Single Page Applicationを略したものになります。
SPAには、変更のあった部分のみを書き換えるだけで処理が完了するという特徴があります。これは、Webページを複数コンポーネントに分割するという実装から来ています。さらには、GoogleのSEOにも有効に働き、ユーザビリティも高いことが、SPAのスキルが求められる理由となっています。
状態管理ライブラリであるReduxのスキルも、習得しておきたいところです。規模の大きな開発案件で使用される機会が多く、ある程度単価の高いReactの案件ではReduxのスキルがあわせて求められることも多くなっています。
サーバーサイドの開発言語も、習得しておきたいスキルと言えるでしょう。Reactの開発現場では、必ずしも業務がフロントエンドとサーバーサイドで分離しているとは限りません。また、この両方の技術を保有していて、いずれも任せることができるエンジニアであれば、当然評価は高くなります。
開発スキルに関しては、最新の技術情報の収集を積極的に行うことも重要です。技術の進歩は急速に進み、変化も大きな世界ですから、忙しい日々のなかでもキャッチアップができているということは、エンジニアとして大きなアピールポイントになります。
スクラム開発とは、アジャイル開発における手法のひとつです。少人数の開発チームを構成し、短期的にシステム開発を行います。システムを小さな単位に分割し、その単位で開発を完結させることが特徴です。
Reactは新しい技術で、モダンなライブラリであると評されることも多いだけに、開発体制も従来型のウォーターフォールモデルに拘泥することなく、アジャイル手法を取り入れるケースが多くなります。開発対象を小さな単位、なかには1週間で区切るようなプロジェクトもありますから、スクラム開発の経験は大いに役立つことでしょう。
言うまでもなく、これらはウォーターフォールモデルでは上流工程に位置する、習得難易度が高く重要なスキルとなります。単価のアップには有効に働きます。
また、フロントエンドを担当するReactエンジニアは、クライアントにとって重要な顧客となる、システムユーザーとの接点を開発する立場にあります。すぐれたUIを作成することは、顧客満足を高め、クライアントである企業の評価を高めることにもつながります。
フリーランスのReactエンジニアが案件を得ていくために、しっかりと活用したいのがエージェントです。なかでも、フリーランスに特化したエージェントは、エンジニアにとって頼りがいのあるパートナーになってくれることでしょう。
一般に、フリーランスが仕事を得るために重要なのは人脈と言われていますし、事実多くのケースで人脈が案件の獲得に重要な役割を果たしています。しかし、Reactエンジニアは、携わる仕事の性質上、築いてきた人脈から継続的に仕事を得ていくことには困難が伴います。
また、営業活動に必要となる時間の捻出は、意外と難しいものです。案件が途切れて、その期間が無収入になってしまうリスクもあります。そういった問題を解決するのが、エージェントの利用なのです。
規模の大きなシステムが多いReactの案件では、発注側がインターネットなどの公開されたスペースに案件情報を掲載できないケースも存在します。高単価が期待できるそういった案件は、非公開情報としてエージェントが保有しており、エージェントを通すことが魅力的な案件に参画するための唯一の道であると言うことができます。
Reactというモダンな技術を扱うだけに、個人での戦略立案や新情報のキャッチアップにも限界があります。エージェントはそれらを加味した上で、将来を見据えた提案をしてくれます。単価交渉も依頼できますので、できるフリーランスエンジニアであれば、活用しない手はないと言っていいでしょう。
この世からWebシステムがなくならない限り、Reactエンジニアの需要はなくならないと言ってもいいくらいに、Reactは将来性のある技術と言うことができるでしょう。もちろん、周辺環境はどんどん変化していき、Reactそのものも進化していきますから、常にスキルアップを心がけていきたいものです。
現在も高い単価が期待できるReactは、Web周辺の基礎的な知識があり、一定水準以上のJavaScriptでプログラミングが可能なエンジニアであれば、習得コストは決して高くはありません。将来、新しい技術を習得する際にも十分役立つことが期待できますので、スキル習得をするだけの価値は十分あると言えるでしょう。
<Facebook>は<フェイスブック・インコーポレイテッド>の登録商標です。
<Instagram>は<インスタグラム・リミテッド・ライアビリティ・カンパニー>の登録商標です。
<Netflix>は<ネットフリックス インコーポレーテッド>の登録商標です。
<Airbnb>は<エアビーアンドビー,インコーポレイテッド>の登録商標です。
<Uber>は<ウーバー テクノロジーズ,インコーポレイテッド>の登録商標です。
<Yahoo!>は<オース インコーポレイテッド>の登録商標です。
あなたにピッタリの
フリーランス案件が見つかる
110万件以上のフリーランス案件から一括検索
250,945件※の案件を保有しており、エンジニアやクリエイター向けを中心にたくさんの案件を一括検索可能です。
※ 4月20日(Sat)更新2あなたの経験やスキルに適した案件をメールでお知らせ
マイページに入力して頂いた経験や希望条件に合わせて、ご希望にマッチした案件をメールでお送りするので効率的な案件探しが可能です。
この記事では、フロントエンドエンジニアになるにはどうしたら良いか興味がある方に向けて目指し方をまとめています。業務内容から収入面の現状、必要...
9 months ago
この記事では、幅広い業務内容を持つフロントエンドエンジニアについて取り上げ、現場でどのような仕事を行っているのか、他の職種とはどう違い、どう...
3 years ago
この記事では、未経験のレベルからフロントエンドエンジニアを目指すための方法や、長く活動を続けるために必要な案件獲得における知識やスキル、高単...
3 years ago
この記事では、これからフロントエンドエンジニアとして年収を上げていきたい人に向けて、フロントエンドエンジニアの仕事内容や必要となるスキル、平...
2 years ago