という疑問を解決する記事になります。
記事執筆者:オザック
バックエンドエンジニア歴9年以上、年収1000万のエンジニア、オザックです!
某有名R社に勤めていた過去があり、副業を含めて関わってきたプロジェクトは20以上。
フロントエンドからバックエンド、インフラまでやっています。
今回はエンジニアとして経験を踏まえてわかりやすく業務や年収について解説します。
この記事を読むとぼんやりとしていたエンジニアのイメージが、わかりやすくイメージがつくようになります(3分程度で読み終わります)。
エンジニアとは?わかりやすくITエンジニアの種類について解説
エンジニアと言っても実は色々な種類があります。
ブラウザでみるサイトを開発するWebエンジニア
主にWebサイトったり、モバイルアプリのバックエンドを作ったりするエンジニアになります。
例えば楽天などのECサイトや社内の業務系ツール、TwitterなどのtoC向けのSNSなど、みなさんが一度は触れたことあるようなWebサイトなどを作るエンジニアになります。
また作ったサイトを保守・運用するのもWebエンジニアの役目となります。
Webエンジニアの中にも更に細分化されていて、
- フロントエンドエンジニア
- バックエンドエンジニア
- インフラエンジニア
主にこの3つに細分化されます。
参考
Webエンジニアの技術トレンドはかなり速いので、1年前がデファクトスタンダードだった技術が翌年には古いと言われることはよくあります。
モバイルアプリを開発するアプリエンジニア
アプリエンジニアとはモバイルアプリを作るエンジニアです。
iOSやAndroidのストアでアプリをダウンロードして使えるのは彼らが作っているということになります。
またモバイルアプリはほとんどが裏側のデータベースというものに連携していて、
そのデータベースとやり取りをするアプリケーションプログラミングインターフェース(API)と言われるものをモバイルアプリで呼ぶことで、
モバイルアプリを使うユーザのデータを連携しています。
Webエンジニアと似ているような業務になります。
Webエンジニアの中でも受託系をメインとしたシステムエンジニア
システムエンジニアとはWebエンジニアの中でも受託開発をするエンジニアのことを指します。
ただ実はシステムエンジニアはWebエンジニアやアプリエンジニアと明確に定義が別れているものではないためか、
実際に使い分けている人をあまり見たことがないので、イメージ的には請負で開発するエンジニアというイメージで良いです。
プログラムは書かずに設計をするSler(エスアイヤー)
Slerとはシステムインテグレーターの通称で、
プログラムは書かずに、ITサービスを作る際の上流工程を担う人を指します。
具体的には要件定義、基本設計、詳細設計などを行います。
Webエンジニアの業務内容とは?
いくつか紹介しましたが、今回はWebエンジニアの業務や実際の市場から年収やニーズについて説明します。
先程Webエンジニアの紹介の中でWebエンジニアは
- フロントエンド
- バックエンド
- インフラ
と3つに別れるという話をしました。
その3つに分解してそれぞれの業務、ニーズ、年収をご紹介していきます。
フロントエンドエンジニアの業務内容、想定年収は?
まずはサイトの画面を作るフロントエンドエンジニアについての
- 業務内容
- 想定年収
について説明していきます!
フロントエンドの業務内容
主な業務
- 記事メディアの記事画面や、よくある企業HPのお問い合わせフォーム、企業HPなど見た目を実装する
- クリックした時にスクロールしたり、アニメーションの開発(後述しますがこれはJavaScriptという言語で作られます)
をします。
フロントエンドの技術スタック
技術スタック
が主な技術スタックです。
HTML、CSSは画面を作るマークアップ言語と呼ばれるものです。
JSは画面のアニメーションを作ったり、ブラウザからAPIを呼ぶなどの処理ができるプログラミング言語です。
TSはマイクロソフト製のJSに型というものが入ったプログラミング言語になります。
昨今人気が上がっている言語です。
理由は型がある言語の方が堅牢なアプリケーションを作ることができるためです。
フロントエンドとしてHTML, CSS, JSはmustで出来なければならないですが、TSの必要性はその会社によるので、必ず出来なければフロントエンドと呼べないというわけではないです。
ここに注意
またJSをより簡単に書くためにjQueryというライブラリがあり、昔はjQueryを使えることも必須の条件だったりします(モダンな会社ではもう殆ど使われていないです)。
フロントエンドエンジニアの最近のトレンドは?
ポイント
フロントエンドはとても技術の流れが速い領域です。
昨年使われていたツールがもう使われないなんてこともザラにあります。
そんなフロントエンドで昨今流行っているトレンドはシングルページアプリケーション(SPA)と言われる技術です。
参考
SPAとは単一のWebページで出来たWebサイトで、画面遷移は一つのページを部分的に変更することで動的に変わるようにしています。
画面遷移の際にブラウザではXMLHttpRequest(XHR)でバックエンドのサーバからデータを取得するなどして、動的に変更をするようにしています。
SPAのWebサイトを作るための技術として昨今で有名なのはReact.jsとVue.jsというフレームワークになります。
初学者でも学びやすいのはVue.jsの方になりますが、実際はReact.jsのほうが需要が高いです。
理由はReact.jsがTSとの相性のよいフレームワークという点です。
なのでまずフロントエンドになりたい初心者の方はReact.jsを覚えることをおすすします。
Reactの勉強方法はこちらの記事が参考になります
【MENTAでフロントエンジニア転職】インプットだけでは駄目?効率的な勉強法
フロントエンドの年収は?
スペック | 報酬額 |
HTML+CSSのみできる | (規模にもよるが)1サイト10~30万 |
HTML+CSS+JS(jQuery) | 300万~400万程度 |
HTML+CSS+JS+Vue(Nuxt) | 500~800万程度、フリーランスだと80万/月も稼げるケースも有る |
HTML+CSS+JS+React(Next) | 600~800万程度、フリーランスだと80万/月も稼げるケースも有る |
HTML+CSS+JS(TS)+React(Next) | 700~1000万程度、フリーランスで100万/月も可能 |
昨今はフロントエンドの需要が高まっていて、それに合わせて年収も上がってきています。
バックエンドエンジニアの業務内容と想定年収は?
では続いてバックエンドの業務内容や想定年収について紹介します。
バックエンドエンジニアの業務内容
バックエンドの業務内容は結構幅広いです。
業務内容は?
- Webサイトに表示するAPIの作成
- データベースの設計、構築
- (必要な場合)バッチの構築
- (インフラエンジニアが担う場合もある) CI/CDの構築
- フロントエンドとAPIとのつなぎ込み
- ログの設計
- (必要な場合) Dockerの構築
- バックエンドの保守運用
主に上記がバックエンドの業務です。
参考
バックエンドはフロントエンドやインフラとも密接に関わる領域になるため、全領域の知識が必要になります。
またインフラは場合によってはバックエンドがやるケースも多々あります。
バックエンドでよく使われる言語
バックエンドの言語でよく使われるのは
バックエンドの言語
- Ruby(Ruby on Rails)
- PHP(Laravel)
- Go
- TypeScript
- Java
- Kotlin
- Scala
このあたりが多いです。
初学者だとRubyやPHPあたりがとっかかりやすい言語となります
バックエンドエンジニアの年収は?
バックエンドエンジニアの年収は
- 使っているプログラミング言語
- 経験年数
が重要になります。
なので一概には言えないですが、以下の表は想定の年収になります(業務委託契約の場合)。
スペック | 報酬額 | 案件 |
PHP,Ruby3年程度 | 600~800万程度 | 豊富 |
Go3年程度 | 800~1200万程度 | 普通 |
Java | 600~900万程度 | 豊富 |
参考文献: https://freelance.levtech.jp/
大体3年以上の経験があると年収600万以上は超えるようになり、世間の平均年収(400万円程度)と比べるとかなり多くなりますね!
なのでプログラミングスクールでエンジニアに転職する人たちが多い訳です。
インフラエンジニアの業務内容と想定年収は?
続いてインフラエンジニアの業務内容と想定年収について紹介します!
インフラエンジニアの業務内容
業務内容
- Webサービスを稼働させるインフラの構築
- ログ基盤の構築
- サーバ監視の設計・構築
- エラー時のアラート設計・構築
- (必要な場合)Docker構築、CI/CDの構築
- ネットワークの構築
- サーバの保守運用
主にこれがインフラエンジニアの業務になります。
昨今だとAWS、Azure、GCPなどのマネージドサービスを使う上記の業務が行われるケースが多いです。
僕自身もWebエンジニアとしてやっていて、マネージド以外のサービスを使ってインフラを構築するクライアント様を見たことがないです。
参考
なので上記の業務内容には書かなかったですが、クラウドを構築するための知識は必要です。
クラウドを扱うには
必要なモノ
- Infra as A Code(IaC)の作成
- マネージドサービスでインフラを構築する知識
これらが必要になってきます。
インフラ年ジニアの年収は?
インフラエンジニアはアプリケーションエンジニア(フロントエンド、バックエンド)と比べるとそもそも業務委託としては案件があまりないです。
というのもWebサービスを作るのに一番リソースがかかるのがアプリケーションを開発する部分になります。
なので業務委託ではあまり案件がないのが現状です。
求人ボックスナビによると、平均年収は533万程度になるようです。
これはあくまで正社員での金額になるので、業務委託だともっと高くなるでしょう。
Webエンジニア初心者はどの領域を最初に学ぶべきか?
僕は基本的に(その人の趣味嗜好によりますが)初心者にどの領域を最初にやるべきかと問われると、
必ずバックエンドエンジニアをおすすめします。
初心者がバックエンドを学ぶべき理由
Webサイトを運用しているとバックエンドの業務はボトルネックになる部分が多く、
その知識がない人がテックリードなどエンジニアチームの中枢を担うことが難しいため、
必然的にエンジニアチームの中心はバックエンドになっていきます。
エンジニアとして中核のポジションを目指したい方はバックエンドエンジニアを目指しましょう!
未経験から中級者までバックエンドエンジニアの学習ロードマップ【経験談】
バックエンドを目指す場合はPHPかRubyをおすすめ
なのでバックエンドを目指す場合は僕もそうでしたが最初はPHPをRubyを学んでWebサイトの構築を出来るようにしてから、
徐々にフロントやインフラの知識をい深めて行くのが良いです!
参考記事
ITエンジニアの業務と年収まとめ
今回は実際にエンジニアをやっている身からわかるエンジニア市場や、実際の業務、年収を紹介しました。
まとめ
- エンジニアはいくつかの種類に分かれている。
- Webエンジニアはフロントエンド、バックエンド、インフラに分かれている
- フロントエンドはReact(Next)を勉強するのが良い
- バックエンドはPHP,Ruby辺りの簡単なものから勉強すると良い
- インフラはクラウド構築スキルも必須
- 最初に勉強するのにオススメなのはバックエンドエンジニア
バックエンドエンジニアを目指したい方はこちら
未経験から中級者までバックエンドエンジニアの学習ロードマップ【経験談】