フロントエンドとバックエンドの違いは?
フロントエンドエンジニアは、Webページをデザインしたり実際に作るエンジニアのことです。
「どんな画面にしたいか?」を決めて、システムを使うユーザーに画面イメージを見せたりするので、デザイン寄りのお仕事。
バックエンドエンジニアは、ユーザーの目に見えないところで金額の計算をしたり、裏側の処理を書くエンジニアです。
目には見えないけど、プログラムの中身を作りこむのがお仕事。
フロントエンドとバックエンドはどっちを選ぶべきなの?
下記の通りにまとめました。
ざっくり書けば、美術が得意ならフロントエンド。数学が得意ならバックエンドという違い。
フロントエンド・バックエンドを目指すなら、本で独学するかスクール通うかです。
フロントエンドとバックエンドのエンジニアの違いは、目に見えるどうか
フロントエンドとバックエンドのエンジニアの違いは、プログラムが目に見えるどうか?です。
言い換えると、こんな感じ。
- フロントエンド側は美術寄り
- バックエンド側は数学寄り
フロントエンドエンジニアとは?
フロントエンドエンジニアは、画面のデザインをするお仕事。
ヘッダーのタイトルをかっこよく!
ボタンは赤色にして、クリックを促してほしいなぁ・・・
みたいなことを考えます。
よく例に出すのですが、ソシャゲの操作感やキャラデザインを決めるのは、まさにフロントエンドのお仕事。
10周年の「10」を赤色に、イマドキっぽい文字にしてみたり。
- 「もどる」のボタンが青色なので、直感的にキャンセルとわかるように
- 「ガチャる」のボタンは、ボルテージが高まるように、赤やオレンジに
みたいなことを考えます。
こんなデザインでイメージ通りでしょうか?
みたいに、実際に「デザインを決める話し合い」に入れるようになれれば、よきです!
バックエンドエンジニアとは?
バックエンドエンジニアは、使う人の目に見えない裏側の処理を書きます。
ガチャの当選率は、1/20(5%)になるように、乱数を組んで判定するプログラムに。
でも、5%をはずし続ける人も出てくるだろうから、それとなく救済措置を・・・。
みたいなことを考えます。
ガチャを例にしたけど、業務システムであれば、
- 請求書の金額計算をするプログラムを組む
- 商品の在庫の管理をするプログラムを組む
みたいことをやります。
フロントエンド側は、美術。バックエンド側は、数学
フロントエンド側が画面レイアウトの話だとしたら、バックエンド側はフロント側に出す元ネタ(金額などの計算の結果)を作るイメージです。
冒頭で書いた通り、フロント側は美術が得意な人、バックエンド側は数学が得意な人が向いてる」という違いがある。
フロントエンドとバックエンドの難易度の差は?
フロントエンドとバックエンドの難易度の差は、あるの?
プログラム的な難易度は、バックエンドの方が高いです。
※「それは違う」とか、「フロントの方が簡単とは言い切れない」みたいなツッコミを入れた人もいると思いますが、あくまでも筆者の見解としてとらえてくださいませ(大人の言い訳)。
バックエンドの方がプログラム的な難易度は高い
「バックエンドエンジニアのつらい部分は3つ。難易度は高いけど年収も高い」でも書いていますが、バックエンドは、覚えることが多いのが特徴。
Rubyなら、問題なく書けます!
だと、残念ながらお仕事にならないです。
Rubyであれば、Rubyの開発環境を構築する知識。
最終的には、SQLでWebページに訪れた顧客のデータを登録・管理をしたり、売上を集計して紙に印刷したりするのが目的なので。
ユーザーのやりたいことを実現するために必要なことは、そのたびに覚えていく必要があります。
フロント側でも、ハマるときはハマる
フロント側でもハマるときはハマります(バックエンドをさわる必要が出てきたときとか)。
Webエンジニアの知人が、ネットショップ(Shopify)のプラットフォームの移行案件(※)を経験したことがあって、苦戦していました。
※元のWebサイト⇒Shopifyに載せ替えるイメージ。3大キャリアから格安スマホに買い替える感じ。
軽微なレイアウト修正で済むはずが、Shopify独自の「liquid拡張子」が出てきたらしく。
バックエンドの処理も考えないと、移行がうまくいかなかったようで、わりと大規模になったみたい 汗。「結局、バックエンドの知識もいるのかよ!」ってなるので、フロントとバックエンドの敷居って「あるようで、ない」と思ったりもします。
【関連記事】フロントエンドエンジニアのつらい点は3つ。最新技術とプレッシャーに追われる
フロントエンドは、求められるスキルがバックエンドとちがう
案件ごとに例外はありますが、フロントエンド・バックエンドで求められるスキルを書けば、下記の通りになります。
- フロントエンドは、ユーザーにレイアウトを見せてOKをもらう、営業や企画寄りのスキル
- バックエンドは、目に見えない処理を正確にコーディングし、わかりやすく説明するスキル
どちらが向いているかは、人それぞれですね。
フロントエンドとバックエンドの年収が高いのはどっち?
フロントエンドとバックエンドで年収が高いのはどっち?
バックエンドのほうが、平均年収は高いです。
バックエンドエンジニアのほうが、年収は高い
Acrovisonによると、バックエンドエンジニアの平均年収は465万円。
大手転職エージェント「マイナビAGENT」によると、バックエンドエンジニアに近いサーバーエンジニアの平均年収は465万円で、IT系エンジニアの中では平均的な年収と言えます。
「バックエンドエンジニアの年収についての詳細2つ!フロントエンジニアとの違い」より引用
フロントエンドエンジニアの平均年収は、385万円です。
同じく「マイナビAGENT」によると、フロントエンドエンジニアの平均年収は385万円です。
「バックエンドエンジニアの年収についての詳細2つ!フロントエンジニアとの違い」より引用
フロントエンドは、年収の差が激しい
フロントエンドの年収差は、激しいです。(5年間エンジニアやってきた肌感覚ではあるけど)
優秀なフロントエンド>優秀なバックエンド>ふつうのバックエンド>(ここの差は大きい)>ふつうのフロントエンド
例えば、
- 大企業のWebページのデザイン
- 広告費をかけているページのLP案件
を担当するフロントエンドエンジニアは、かなりもらっています。
ただ、フロントで簡単なコーディングをして稼ごうとしているなら、やめておくべきです。
優秀な人(ユーザーにいろんな提案ができる人)はフロントエンドのほうが稼げるけど、競争の世界。
筆者は、エンジニアなのに営業的なことはやりたくないので、バックエンド側でのんびりと過ごしています 笑。
フロントエンドとバックエンドの将来性が高いのはどっち?
フロントエンドとバックエンドの将来性はどっちが高いの?
どちらも「条件付き」で、将来性は高いです。
- 【フロントエンド】Webページのデザインを決められる立場、商談できる立場になること
- 【バックエンド】開発メンバーで使う共通部品を作ったり、設計ができるエンジニアになること
HtmlとJavaScriptを書いて終わるフロントエンドの将来性は低い
「フロントエンドエンジニアの将来性」を「年収」に置き換えたとき。
プログラムの中でも難易度の低い、HtmlやJavaScriptのコーディングだけだと、やはり年収は低い、将来性も低いです。
知恵袋の回答でも、「コンビニバイトといい勝負」とディスられていますが、あながち間違いではないです 笑。
コーディングとテストで終わるバックエンドも、正直危うい
コーディングとテストで終わるバックエンドも、正直危ういです。
覚えることが、多くて大変じゃないの?
と思うかもしれないけど、そこからさらにもう一歩。
難しいことだけど、できる人はたくさんいます(優秀な人多すぎ・・・)。
フロントなら画面デザイン、バックエンドなら設計できる人になっておきたい
フロントなら画面デザイン、バックエンドなら設計できる人になっておきたいです。
ここのボタンの色は、赤色?それともオレンジ?もっと言えば、ほかにPRできるポイントは?
それなら、弊社にお任せください!見積もりさせていただきます!
みたいに言える、フロントエンジニア。最低でも画面をデザインできるのであれば、将来性は高いです。
バックエンドエンジニアは、下記のことができるようになると、将来性は高いです。
- プログラムを作るのにどれくらいの時間がかかるのか?(工数見積もり)
- 開発メンバー全員で使う、共通のプログラム(共通部品)を作れる立場になる
- どのようなプログラムにすればやりたいことを実現できるのか?(プログラムの設計)
最低でも、「プログラムの設計」はできるようになると将来性はあります。(フリーランスの高単価案件も取れるレベルになる!)
フロントなら、デザインを決めたり商談に持っていけるように!
バックエンドなら、どんなプログラムにするかを決める設計作業ができるように!
今は、プログラムの勉強で必死だとは思うけど。
「ゆくゆくは求められるスキル」として頭の片隅に入れておくと、仕事を進めやすくなると思います!
コメント