「フロントエンドエンジニアはつらいのか?」と言えば、「フロント側の知識『だけ』で生き残るのが難しく、顧客からのプレッシャーも強いのでつらい部分もある」が答えです。
Java(バックエンド)のエンジニアである筆者も、フロント側の実装をやることがありますが、そのときにつらいと感じた部分は3つ。
- 【その1】顧客からのプレッシャーが強い
- 【その2】JavaScriptの新しいフレームワークが多くて大変
- 【その3】フロント側だけで生き残ろうとしても、なかなかつらい
フロントエンドエンジニアはプログラミング言語でいうと、HtmlやJavaScript。
【学ぶべき言語について】社会人エンジニアはまず初めにどのプログラミング言語を学ぶべき?
ソシャゲの画面なり、Webページのデザインをするのがフロントエンドエンジニアのお仕事ですが、デザインである以上、実際に使うユーザーの目に直接ふれる部分。
サクッと「画面モック(試作品)」を作ることが求められるし、顧客からのフィードバックを受けて何度か修正。顧客とやり取りをするので、プレッシャーもかかります。
それに、「フロントもバックエンドも両方やります!」みたいな(ソシャゲで言えば、画面も作るし、ガチャの中身のプログラムも書く)エンジニアも多くいるし、フロント側の知識「だけ」で食べている人は少ないのが筆者の印象。
- Webデザイナーになる(フロントのお偉いさんになる)
- バックエンド側も覚える(中身のプログラムも書けるようになる)
のどちらかができれば、求められる水準が高い分だけ、年収は高くなります。
フロントエンドエンジニアのつらいところは全部で3つ
フロントエンドエンジニアのつらいところは全部で3つあります。
- 【その1】顧客からのプレッシャーが強い
- 【その2】JavaScriptの新しいフレームワークが多くて大変
- 【その3】フロント側だけで生き残ろうとしても、なかなかつらい
1.顧客からのプレッシャーが強い
一つ目は、顧客とやり取りをするので、プレッシャーがかかります。
※バックエンドエンジニアでも、顧客とプログラムの仕様の調整をする機会は当然あるけど、相対的には「見た目を整える」フロントエンドエンジニアのほうが筆者の経験上、多いです。
例えるなら、ソシャゲのガチャの画面を作ります。
バックエンドエンジニアが、「実際に抽選プログラムを作ってガチャを実行する」のに対して。
フロントエンドエンジニアは、画面レイアウトや、バックエンド側で計算した結果(ガチャの結果)を画面に表示するよう、HtmlやJavaScriptを使ってコーディング。
「単にレイアウトを作ればいい」というわけではなく、ユーザーがクリックしたくなるボタンの配色や形を考えたり、画面全体の世界観、キャラの配置などを決めます。
「本当に効果あるの?」や「他のレイアウトは検討した?」など、社内であれば上司。対外であれば顧客が納得する答えを用意するべきだし。
ソシャゲであれば課金される/されない。ネットショップやWebページの問合せの画面を作るのであれば、申込される/されないにかかわる部分なので、その分だけプレッシャーも大きいです。
2.JavaScriptの新しいフレームワークが多くて大変
フロントエンドエンジニアは、新技術が多く、新しいフレームワークを覚えることが多いです。
- HtmlやJavaScriptが書けるのは、当たり前
- 古くはBootStrap。最近だとTypeScript、Angular、Vue.jsなどのJavaScriptのフレームワーク(開発を便利にする機能をまとめたもの)を知っておく必要がある
フロント側は、Html・CSS・JavaScriptがメイン。単体で見れば、メモ帳だけでも開発できるし難しくはないし、単純なコーダーだと年収は低いですが。
フレームワークを使うとなると話は変わってきて、例えばjQueryとの競合(Vue.jsとjQueryは競合するかもしれなくて、古くはprototype.jsとjQueryが競合するみたいな)。
※「ライブラリとフレームワークを一緒にするな」的な文句が飛んできそうな気もするけど、本題ではないので・・・。
JavaScriptのフレームワークは日々進歩するので、中途半端な知識で対応するのではなく、仕様はきちんと把握しておくべきですね。
【余談】
「なんでJavaScriptのフレームワークはたくさんあるんだ?」と思う人もいるかもしれませんが、開発の都合で「フロントエンド側でバックエンドの処理を書きたい」とか「デザインを今っぽくアレンジしたい」となるわけで。やりたいことの数だけフレームワークがあるイメージです・・・。
3.フロント側だけで生き残ろうとしても、なかなかつらい
そして、一番つらいところともいえるのが将来を考えたときの話。フロント側の知識だけで生き残ろうとしても、なかなか厳しいです。
エンジニアを雇う企業の先入観が入りまくっていますが、残念ながら「バックエンド>>>フロントエンド」です。プログラム的な難易度やイメージ、結果的に跳ね返ってくる年収を見たときに。
同じく「マイナビAGENT」によると、フロントエンドエンジニアの平均年収は385万円です。
「フロントエンドエンジニアの年収についての詳細2つ!フロントエンジニアとの違い」より引用
HtmlやJavaScriptだけを書くような単純なコーダーだとすると年収は低いので、将来的には、下の2つのどちらかのキャリアを積む人が多いです。
- Webデザイナーになる(フロントのお偉いさんになる)
- バックエンド側も覚える(中身のプログラムも書けるようになる)
【関連記事】フロントエンドエンジニアとWebデザイナーの違いは?【決定権の有無】
フロントエンドエンジニアは軌道にのれば年収が高くつく
フロントエンドエンジニアってなんだか大変そうだなぁ
と思った人もいるかもしれません。
HtmlとJavaScriptだけを書くような単純なコーダーの年収は低くなりがちです。求められる水準は高いけど、全部やってしまえば年収は高いです。
フリーランス求人サイトでフロントとバックエンドの両方できる人は単価は高い
フロントエンドとバックエンド両方ができる人のフリーランスエンジニアの案件の単価は、高いです。
エージェントの大手のレバテックフリーランスのサイトを見てください。
たとえば「Vue.js」(JavaScriptの有名なフレームワーク)で検索してあげると、月70万円クラスの案件はわりとあります。
※この案件もC#や、postgreSQLかMySQLのデータベース操作といったバックエンド側の業務経験も求められます。
稼働が週2程度になる副業案件をもっているITプロパートナーズを見ても、週2で40万円の高単価。
【関連記事】フロントエンドエンジニアの副業は4つ。実務経験あれば休日の案件を
稼ぐなら、大きな案件を取る。できないならバックエンド
5年間エンジニアをやってきた経験で言えば、下記のようなイメージです(あくまで感覚だけど)。
優秀なフロントエンド>優秀なバックエンド>ふつうのバックエンド>(ここの差は大きい)>ふつうのフロントエンド
大きな案件(大企業のWebページのデザインだったり、広告費の高いLP案件)をとれるフロントエンドエンジニアや、あるいは「フロントもバックエンドも一人でやります!」的なエンジニアは、かなりもらっていますが・・・。
フロントで簡単なコーディングをする仕事であれば、正直にいって、人は余っています。
くどいようですが、Webデザイナー的な立ち位置になるか、フロントもバックエンドも両方できるようにしたほうが将来的には安定します。
- Webデザイナーになる(フロントのお偉いさんになる)
- バックエンド側も覚える(中身のプログラムも書けるようになる)
うん。大変かもだけど、まずは、フロントエンドを目指す!
となったら、さっそく本屋さんで、フロントエンドで学びたい言語の参考書を買うなり。
※JavaScriptなら「確かな力が身につくJavaScript「超」入門」が有名。フレームワークならとりあえず「プロを目指す人のためのTypeScript入門安全なコードの書き方から高度な型の使い方まで」を読んで勉強
スクールに通うなら、テックアカデミーかCodeCampなら、フロントエンドの言語を学べるカリキュラムがあります。
最後に:フロントエンドエンジニアは、その先のことを考えないとつらい
これまで、フロントエンドエンジニアのつらいところについて話してきました。
- 【その1】顧客からのプレッシャーが強い
- 【その2】JavaScriptの新しいフレームワークが多くて大変
- 【その3】フロント側だけで生き残ろうとしても、なかなかつらい
画面レイアウトといった、顧客の目に直接見える部分を担当するので、そもそものプレッシャーが大きいのと。
技術的にもフレームワークが次々とできるので、覚えることも多くて大変。その割には、お偉いさんになるか、バックエンドもできることが求められるのは、なかなかつらいところ。
バックエンドと同様に、エラー調査といった地道な作業も多いけど、「営業や企画が得意な人はフロントエンドエンジニアを目指す際に少し得するなぁ」といったところ。
「よし!フロントエンドに向いてそうだ!」と思った人は、スクールに通うなり、独学なり。
フロントエンドの言語を学んでみてくださいね。応援しています!
【次の記事】フロントエンドエンジニアになるには?スクールは必要であるかについても解説
【独学かスクールか】社会人がプログラミングを学ぶなら独学とスクールのどっちを選ぶべき?
コメント