レポート

LPI-Japanオンラインセミナー レポート

「フロントエンドエンジニアの要件とは〜いま求められるスキルとその学び方 〜」(2024年3月26日開催)
基調講演 「The Strong Roadmap of Frontend Engineer」より

急増するフロントエンドエンジニアの需要に備えて
初心者は「枯れない技術」で基礎固めを

Webエンジニア
合同会社 BugFix 代表
堀口 誠人 氏

現在のフロントエンドエンジニアに求められている「3つの要素」

まず現在の、そしてこれからのフロントエンドエンジニアに何が求められているのかと言うと、大きく分けて「ソフトスキル」「ハードスキル」「外的要因」の3つではないかと、私は思っています。

フロントエンドというのは技術トレンドの移り変わりが激しいので、どうしてもJavaScriptフレームワークなどのハードスキルに目が行きがちです。しかし実はソフトスキル=基本的な考える能力やコミュニケーションスキル、交渉力、マネタイズの能力といった部分も非常に大切なんですね。

そしてもう1つは外的要因、すなわち市場ニーズや世の中の景気、働く人の数など、エンジニア業務の範疇外といった要素も大切です。なぜなら技術というのは、それを使う人々や経済、社会の状況と組み合わせられることで、初めて製品やビジネスになるからです。そう考えれば、これら3つの要因はどれも等しく重要であることが分かるでしょう。

時代ごとに大きく変わってきた、求められるスキルとその背景

本題に入る前に、簡単にフロントエンドの歴史をおさらいしておきましょう。今と昔では、フロントエンドに求められるスキルのトレンドはかなり違っています。それを3つの世代に分けたのが下の図です。

そもそもフロントエンドという言葉が生まれたのは、2013年くらいです。そこから現在まで、時代によって求められる技術は変わってきましたが、特に大きく変化したのはハードスキルです。初期から2015年までは、必須とされたのはHTML、CSS、jQueryとあとデザインツール。できれば、Gitやレスポンシブの知見も欲しいという感じでした。

次の2016~2023年で、かなり変わってきます。私はこの辺りを「カオス期」と勝手に命名しているんですけど、言うなれば過渡期ですね。この時期くらいから「コミュニケーション力」への期待が大きく変わります。

2015年くらいまでは、エンジニアは技術力があればOKで、コミュニケーション力はあまり重要視されていませんでした。それが2016年以降、ハードスキルの技術が急激に増えて、お客様からは「どれを使えばいいのか提案してほしい」という要望が高まってきたのです。その結果、お客様が直接使うフロントエンドの部分は、フロントエンドエンジニアが責任を持って提案することになり、コミュニケーション力が必須要件になってきたのです。

これが2023年頃からは、さらに大きく変わっていきます。単なるコミュニケーション能力ではなく、ビジネススキル全般へと、要求のレベルが上がってきたのです。理由は簡単で、世の中のビジネスモデルや経済が大きく変わっていく時代には、技術者であってもビジネスがわからないと良い提案ができないからなんですね。

例えばJavaScriptのライブラリで何を使うかという場合も、ビジネスの視点があれば「エンジニア人口が一番多くて採用コストが抑えられるから」という理由でReactを提案して、お客様に評価いただけるというわけです。

志望者の増加や技術の進化で、技術者への要求は増える一方

コミュニケーション力だけでなく、フロントエンドエンジニアに求められることは、ますます増えてきています。対顧客だけではありません。社内でも、昔ならフロントエンドとバックエンドは完全に分かれていましたが、その境目が今はかなり曖昧になってきています。

例えばシステム開発の際、APIを呼ぶのはフロントエンドですが、呼んだ時にどういう形で受け取るのがよいかも考える必要がある。この時に、「バックエンド側を少し加工して、APIのレスポンスの形を変えた方がよい」といった判断ができるためにも、フロントエンドエンジニアはバックエンドについても知っておく必要があるのです。

そもそも、なぜフロントエンドに求められる要件が、この世に変化し増えてきているのでしょうか。大きく、次の4つの要因があると考えています。

1.母数の拡大:エンジニアになりたい人が増え続けている
最近の学生を対象にした調査では、「なりたい職業ランキング」でエンジニアは1~2位の人気です。このため市場も、どうせ採用するなら優秀な人材をというわけで、より高いスキルを求めるようになっているのです。

2.市場ニーズの変化:Web制作のニーズが減ってWeb開発が増えた
昔はWeb制作の需要が主流でしたが、それが最近ではシステムやサービスなどの開発系に移りつつあります。これについては、最後の章で詳しく触れています。

3.技術革新(底):「誰でもできる」時代で、プロへの要求レベルが上がった
ノーコードやローコード、AIの登場で簡単にWeb制作ができるようになった結果、フロントエンドエンジニアの生産性の基準値が引き上げられた。つまり、誰でもできることではなく、より専門性の高い仕事を要求されるようになったのです。

4.技術革新(天井):技術が進化すれば、周りからの期待値もさらに上がる
技術革新の底が上がってきた結果、天井(ハイエンド)も上がっています。シングルページアプリケーション(SPA)の登場や、ソフト/ハードウェアのスペック向上などによって、ITサービス全体のレベルが上がっています。

これから先、フロントエンド領域で求められるスキルとは?

フロントエンドエンジニアへの要求レベルが高まる中、具体的にはどんなスキルが重要になってくるのでしょうか。まずハードスキルでは、下の図を見てください。この中で初級は、どちらかと言うとマークアップエンジニア寄りのスキルになります。Webデザインをプログラムとして実装するための、HTMLやCSSといった基本的なマークアップ言語が主なものです。

これが中級になると、やはりフレームワークに関する知見も必要で、React/Angular/VueといったJavaScriptフレームワーク、またTypeScriptのような拡張言語などがあります。またコードを書くだけではなく、設計など全体を意識した会話ができる能力も必要になってきます。

そして上級では、バックエンドも含むエンジニアとしてのより根本的な能力が求められてきます。たとえば新しいフレームワークやライブラリを使う時に、「そもそもこの適用に対して、JavaScriptの仕様はどうなっているのか?」「コンピュータは、どういう仕組みで動いているのか?」まで理解できていると、新しい技術や未知の領域にも挑戦しやすいでしょう。

次に、ソフトスキルです。ここでは、コミュニケーション力とビジネス力全般を挙げていますが、もう1つ付け加えたいのが、フロントエンドエンジニアでは、コミュニケーション力の中でも「おもてなし力」「丁寧さ」がひときわ重要だという点です。

例えば、お客様から受注したデザインが上がってきた時に「デザイン通りじゃない」「仕様と合っていない」という問題が発生するのは、フロントエンドにかなり多いのです。それを内部のエンジニアに伝えるたり、お客様に説明しなくてはなりません。でも、この言語化するのって結構難しいんですね。

こういう時にバックエンドだったら、動くか動かないか、実装されているかいないかで、明確に良し悪しを判断できますが、フロントエンドだと「このデザインは80点だけど、やっぱり100点満点が欲しい」のような曖昧な要求に応えなくてはならない。そうしたシチュエーションで円滑にプロジェクトを進めていくには、相手の気持ちを酌みながら提案・説明ができるコミュニケーション力が不可欠なのです。

基礎を固めて「骨太なフロントエンドエンジニア」を目指そう

次は、皆さんも関心が高い「フロントエンドのスキルがあると、どんな市場で活躍できるか?」を少しお話ししましょう。

Webの技術市場はかつてはWeb制作会社への需要が多かったのが、最近はシステムやアプリケーションの開発に移ってきています、という話を前にしました。この背景には、ノーコードやローコード、AIなどのツールが登場して、Webサイト制作でゼロからコードを書く機会が減りつつあること。また飲食店などの店舗では、WebサイトよりもSNSやInstagramで情報発信するケースも増えて、フロントエンドにおけるWebサイト制作の需要が減っていることがあります。

一方で、自社サービスの方は着実に需要が増えています。ITサービスでは、フロントエンドがイケてるUI/UXになっていて、それでより良いユーザー体験を提供できれば、それが売上につながる。これが、フロントエンド開発の需要がITサービス開発にシフトした大きな理由です。

もう1つ、フロントエンド開発というのは、サービス開発の初期フェーズから需要があります。バックエンドだと一定期間が経ってからパフォーマンスチューニングやリプレースなど、技術的にはハイレベルだけど、初期フェーズではほとんど需要がない。その点フロントエンドは、何をするにも画面がないと始まらないということで、初期から後期までフェーズごとに需要がある。私は、これがフロントエンド開発の大きな魅力の1つだと思っています。

最後にサマリーとして、「骨太なフロントエンドエンジニアになるための」3つのキーワードを挙げておきましょう。

  1. マーケット&デマンド:外的要因としての市場ニーズを見極めながら、技術だけでなくビジネスの観点からも、どんなスキルが必要かを考え、学び、将来に備える。
  2. スキル:ハード、ソフトいずれのスキル共に広い範囲を見られて、開発だけでなく提案や説明ができる人材を目指す。「○○しか興味ない」技術者は、もう通用しない
  3. ハウ・トゥ・ラーン:流行の技術に飛びつくのではなく、枯れない技術を学ぶ。自分のキャリア戦略として「いかに学ぶか?」を考えよう。

特に、3番目の「いかに学ぶか?」は大事です。例えばいきなりReactを学び始めるのではなく、JavaScriptの基礎のような「枯れない技術」で自分の根本を固め、さらにはプログラミングやコンピュータ全般にわたる基本を学ぶことが、「その先」につながるからです。

とはいえ、独りではどう勉強すればよいか悩んでいる方も多いでしょう。そういう場合は、LPI-Japanが提供しているIT資格の認定を利用するのも良い方法です。認定のための試験勉強というのは、「枯れない技術」の基礎ともいえる知識を体系的かつ効率的に学べるからです。

この先、より高いスキルを持ったフロントエンドエンジニアの需要は、確実に増えていきます。これからの人材市場で確実に存在感を示せるエンジニアに成長するためにも、今回のお話が参考になれば嬉しく思います。

メルマガ登録E-mail Magazine

受験を決めたら、まずメルマガ登録。
学習に役立つ例題解説付きメールマガジンを定期発行

氏名

ご提供いただく個人情報の取り扱いについて

ご提供いただいた情報につきましては、当団体内において管理し第三者には開示いたしません。 ご提供いただいた情報につきましては、当団体のオープンソース普及/促進活動のための統計データに反映し、Linux技術者認定事業サービスの充実に活用させて頂くとともに、当団体からの最新情報やイベント情報のご案内を差上げる目的に利用させていただきます。 当団体のプライバシーポリシーについてはこちらをご参照ください。