最終更新日:2020/07/16

サーバーサイドエンジニアになられたい方は、以下のような悩みをもっていらっしゃるのではないでしょうか。

  • サーバーサイドエンジニアの概要は知っているけど、実務レベルではどんなスキルが必要かよく分からない…
  • 具体的にサーバーサイドエンジニアになる勉強方法が知りたい…
  • 未経験からでもサーバーサイドエンジニアになれる求人が見つからない…

今回は、未経験からサーバーサイドエンジニアになる方法についてご紹介します。

サーバーサイドエンジニアとは

サーバーサイドエンジニアとは、アプリの裏側を作るエンジニアとなります。

サーバーサイドエンジニアを理解するために、まずはフロントとサーバーサイドの違いを理解する必要があります。

  • フロントエンド:見た目の設計を行います。
  • サーバーサイド(=バックエンド):裏側の処理を行います。

簡単に説明すると、Webアプリの開発は、主にフロント(見た目部分)の開発と、サーバーサイド(アプリをどのように動かすかを決める部分)の開発を別々に行っており、それぞれをフロントの開発、サーバーサイドの開発と表現します。

サーバーサイドエンジニアとは、フロント部分の開発ではなく、「アプリをどのように動かすか」という、アプリの動作部分(サーバーサイド)をプログラミングしていくエンジニアのことです。

仕事内容

では、サーバーサイドエンジニアの定義が理解できたところで、具体的な仕事内容をみていきましょう。

サーバーサイドエンジニアの主な仕事内容は、

  1. 要件定義やアプリの設計に従って、プログラミング作業をする
  2. 開発中、もしくはアプリ公開後に発生したバグの調査・修正
  3. 開発メンバーや業務で関わるチーム内の各種コミュニケーション

です。

①要件定義やアプリの設計に従って、プログラミング作業をする

まず1つ目は、サーバーサイドのプログラミング言語(Java, PHP, Rubyなど)を用いてアプリ開発をする、プログラミングの仕事です。

未経験の方がイメージする大半の業務内容も、このようなプログラミングのお仕事をイメージしているのではないでしょうか。しかし、これはサーバーサイドエンジニアの業務の1つでしかありません。

②開発中、もしくはアプリ公開後に発生したバグの調査・修正

次に、サーバーサイドエンジニアの仕事としてよくある内容が、プログラムのバグ調査・バグの修正作業というものです。

この仕事は、一からプログラミングをする仕事ではなく、既存のプログラムコードを読み取り、報告されたバグの原因を調査することからスタートします。

経験がないと想像しにくいかもしれませんが、実は、サーバーサイドエンジニアの仕事では、新規でプログラムを開発するよりも、既存のプログラムコード(自分以外の誰かが書いたコード)を読む時間の方が多く、プログラムの読解能力のようなスキルが求められます。

③開発メンバーや業務で関わるチーム内の各種コミュニケーション

最後に、サーバーサイドエンジニアの仕事内容として重要なものに、チーム内のコミュニケーションがあります。

エンジニアというと、淡々とコードを書くだけの仕事というイメージがありますが、実際の開発現場ではそのようなことはありません。

もちろん、集中してコードを書いている時間が多いときもありますが、チームメンバーや上司から信頼されるエンジニア程、周囲とコミュニケーションを取って仕事を進めています。

また、重大なバグが発生した際は、状況報告、調査内容の共有、今後の対応方法をこまめに報告する必要があります。

サーバーサイドエンジニアのスキルが本当に評価されるのは、このような緊急事態における対応をどれだけスムーズに行えるかという、普段は見えない対応力です。

サーバーサイドエンジニアはどんな人に向いているか?魅力は?

サーバーサイドエンジニアに向いている人は、まず論理的な思考が好きな方が当てはまると思います。例えば、学生の頃に解いていた数学の問題など、公式を使い、順番どおりに計算をして答えを導き出すのが得意だった人です。

というのも、プログラミングだけではなく、バグ調査・バグの正しい修正方法を考えるときにも、矛盾がなく、論理的で正しい手順を思考することが求められるからです。

また、サーバーサイドエンジニアの仕事の魅力は、以下のような場面で、自分の仕事が役に立っていると実感できた時ではないでしょうか。

  • 自分がプログラムを組んだアプリがユーザーに使われているのを見たとき
  • 作ったアプリが実際の業務などで活用されているのを見たとき

それから、バグの調査・修正が無事に終わって一段落したときも、自分の能力を発揮して、主体的な問題解決ができたと感じることができます。

逆に、主体的な行動ができない人(指示待ちが多い)は、この仕事には向いていないと言えます。

フロントエンジニアとの違い

記事の冒頭で、フロントとサーバーサイドの簡単な違いについて説明しましたが、ここでは、サーバーサイドエンジニアとよく比較される、フロントエンジニアとの違いについて纏めてみました。

フロントエンジニア

  • アプリ(Webサービス)の見た目の部分をコーディングするエンジニア
  • HTML / CSS / JavaScript(jQuery) などフロントエンドの言語を扱う
  • アプリ開発では、JS系フレームワーク(React/Vue/AngularJS)の知識も必要
  • フロントエンジニアの中にはWeb制作系の仕事もある(WordPressも必須)
  • 取り扱う技術の入れ替わりやトレンドが変わりやすい

サーバーサイドエンジニア

  • アプリ(Webサービス)の動作部分を開発するエンジニア
  • Java / PHP / Ruby などサーバーサイドの言語を扱う
  • プログラミング言語だけではなく、データベース(DB)の知識が必要
  • インフラ(プログラムを動作させる土台部分)の知識も必要
  • フロントエンジニアと同等レベルのHTML/CSS/JavaScript(jQuery)の知識も必要
  • 取り扱う技術の入れ替わりやトレンドが変化しにくい

サーバーサイドエンジニアの年収について

サーバーサイドエンジニアの年収相場は、平均で400〜570万円くらいです。

年代によっても変わりますし、まだ経験の浅い20代くらいだと、400万円くらいの相場になりますが、30代、40代とサーバーサイドエンジニアとしての経験年数とキャリアが上がっていくと、それに比例して年収も上がっていきます。

20代と比べると約2倍の、最大で800万くらいの年収になることもあります。

ちなみに、フリーランスとして働く場合も含め、サーバーサイドエンジニアとして高い年収を得るためには、最低でも3年〜5年の経験年数が必要になります。(フリーランス案件では特に経験年数が必須です)

サーバーサイドエンジニアに未経験でもなれるか?

未経験からでも、ポイントを抑えて準備を行えば、サーバーサイドエンジニアになることは可能です。

では、具体的に未経験からサーバーサイドエンジニアを目指す方法をみていきましょう。

実力を示せると未経験でもできる

ポイントとしては、以下の2点です。

  1. ポートフォリオがしっかり作られている
  2. 一般的なコミュニケーション能力が備わっている

①ポートフォリオの質

まず、未経験からサーバーサイドエンジニアを目指す場合は、ポートフォリオを確りと作り込む必要があります。

ポートフォリオに掲載するアプリのレベル感としては、一般的なCRUD処理を実装したWebサービスであれば十分です。(例えば、Twitterのクローンアプリ、TODO管理アプリなど)

また、Webアプリ開発における基礎知識として重要な、HTTP通信の基本なども理解した上でアプリ開発できることを示すことができれば、より評価されるポートフォリオになると思います。

エンジニアのポートフォリオの作り方【サンプルあり】

②コミュニケーション能力が備わっている

②次に大切なことは、コミュニケーション能力です。

サーバーサイドエンジニアにおいて、コミュニケーション能力は必須です。

一人でもくもくとプログラムを開発する時間が長い仕事とはいえ、周囲とのコミュニケーションが取れないエンジニアは、開発現場ではチーム全体の生産性を落としてしまいます。

逆に、未経験だからこそ、技術力が不足している部分をコミュニケーション能力で補う必要があるとも言えます。

20代で未経験からサーバーサイドエンジニアにはなりやすい!

まず、20代で未経験からサーバーサイドエンジニアを目指すことは比較的スムーズに転職など出来るかと思います。

ポートフォリオで実力を示し、最低限のコミュニケーション能力を備えておけば、大丈夫ではないでしょうか。

30代で未経験からサーバーサイドエンジニアを目指す場合は、SESなら可能性あり

では、30代で未経験からサーバーサイドエンジニアを目指すのはどうでしょうか。

少し厳しい部分もありますが、SES(エンジニア派遣のような働き方)からキャリアをスタートすると、未経験でも選択肢は広がります。

SESへの転職の注意点

なお、SESという働き方はネット上で批判する記事も見受けられますが、実際は「勤務先の会社次第」です。

SES企業でも、しっかりとキャリアを築ける案件に派遣してくれる会社へ転職すれば、問題ないのではないでしょうか。

もちろん、SESではなく、自社開発できるような求人もありますが、30代からの転職では、高度なスキル・高いコミュニケーション能力が求められるため、未経験だとハードルが高くなります。

SESでの転職に求められているスキル

SESで派遣されるエンジニアの面接では、どの現場でもエンジニアの

  • コミュニケーション能力

を重視した面接をしています。

また、自社開発とSESのどちらも経験した現役エンジニアの方にお話を聞いたところ、このような経験談を聞かせてくれました。

Aさん
パートナーさんとの面接では、コミュニケーション能力を重視している
Bさん
今回の面接では、スキルは十分だけど、面接時の意思の疎通がイマイチだから見送った

また、自社開発のIT企業で働いていた時にも、コミュニケーション能力が高いエンジニアと働く機会が多く、チーム開発ではコミュニケーション能力が大切だと感じていました。

最初はテスターからプロジェクトへ参画し、徐々に新規でコードを書いていくパターンもある

SESで実際に派遣された現場で働いた時、最初はテスターとして参画し、実力が認められて開発に加わることもありました。

現場次第ですが、実力があればテスターの仕事以外にも、実際にプログラムを書く開発の仕事にも携わることができます。

経験年数も2年〜3年くらいあれば、いきなりアプリ開発の設計・製造・テストまでを一気貫通して任せてくるような開発現場もあります。

40代で未経験からサーバーサイドエンジニアを目指す場合は、かなり難しい!

40代で未経験からサーバーサイドエンジニアを目指すのは、30代と比べてもさらに難しいのが現実です。

未経験からサーバーサイドエンジニアに必要なスキルを身に着けていくには、それなりの学習時間を投下する必要もありますし、今すぐエンジニア転職して、前職と同等か、それ以上に稼げるようになるというのは、現実的に厳しいです。

しかし、40代からエンジニアを目指すのが100%無理という話ではありません。

技術の習得難易度が高く、転職市場としても難しいサーバーサイドエンジニアではなく、40代の未経験者にはWeb制作系のフロントエンジニアをおすすめします。

Web制作系のフロントエンジニアであれば、最低限のスキルとして「HTML / CSS / JavaScript(jQuery)」を学び、Webページや、Webサイトがどのような構造で作られているかを理解すれば、簡単なサイトコーディングの仕事からスタートできます。

フロントエンジニアについては、関連記事に詳細をまとめていますので、こちらを参考にしてください。

サーバーサイドエンジニアになるための勉強方法について

サーバーサイドエンジニアは扱う技術の幅も広く、選択する言語の種類がいくつかあるので、未経験からサーバーサイドエンジニアを目指す方におすすめの言語と、その言語の勉強方法についてご紹介します。

サーバーサイドエンジニアになるためには、どの言語を学ぶべきか

まず、サーバーサイドエンジニアと言っても、Webアプリの開発にはフロントエンドの技術も欠かすことはできません。

サーバーサイドの技術を先に学ぶことも可能ですが、Webアプリを開発するという前提で考えると、まずはフロントエンドのスキルから習得することがおすすめです。

フロントエンドの技術で学ぶ言語

フロントエンドで学ぶことは、最低限として

  • HTML
  • CSS
  • JavaScript(jQuery)

です。

とくに、JavaScriptについては、フロント側のプログラミングで主要な言語になるため、深い知識が必要になります。

サーバーサイドの技術で学ぶ言語

サーバーサイドの言語を学ぶときには、いくつかの選択肢がありますが、未経験から学習する人におすすめなのはPHPかRubyのどちらか一つになります。

また、サーバーサイドのプログラミングでは、純粋な言語の習得と合わせて、その言語独自に用いられる「フレームワーク」と呼ばれる開発を効率化する仕組みを利用します。

言語の習得とフレームワークの習得はセットだと考えておきましょう。

SESを目指す場合は、

  • PHP
  • Laravel

がオススメです。

自社開発に比べて未経験からの転職がしやすいSESという働き方を考える場合は、RubyではなくPHPの習得をおすすめします。

Rubyを扱うような案件では、かなりスキルの高いエンジニアでチームが構成されることが多く、未経験者がいきなりRubyの案件に携わることは難しいです。

しかし、PHPであれば、案件としての母数も多く、いろいろな案件へ携わる機会があります。未経験から転職を前提にサーバーサイドエンジニアを目指すのであれば、PHPの習得をおすすめします。

また、PHPのフレームワークはいくつかありますが、人気が高いLaravelを習得しておきましょう。

Web制作系を目指す場合は、

  • PHP
  • WordPress

がおすすめです。

Web制作はフロントエンドに分類される事もありますが、Web制作もスキルを深めていくと、WordPressというWeb制作のフレームワークを扱います。

この場合、フロントエンドの技術+WordPressを習得する必要があるのですが、WordPressも実際にはPHPで動くフレームワークなので、この場合もPHPを理解する必要があります。

PHPを学んでおくと、Web制作系のスキルへも横展開が可能になるため、未経験の方に一番おすすめの言語と言えるのではないでしょうか。

Web開発系(スタートアップ)を目指す場合は、

  • Ruby
  • Ruby on Rails

がオススメです。

スタートアップ企業や、自社でサービス開発を行っているような会社で働く場合は、サーバーサイドのプログラミング言語としてRubyを学ぶのがおすすめです。

Rubyは小さなプロダクト(最小限の機能だけを備えたWebアプリ)をスピーディに構築することに優れており、少数精鋭で開発する現場では良く使われています。

Rubyのフレームワークとしては、Ruby on Rails(RoR)という開発フレームワークがあり、Rubyを学ぶ時はRoRもセットで習得する必要があります。

アプリ(ポートフォリオ)を作る

どの言語を学ぶか整理できたところで、次に具体的な勉強方法をご紹介します。各言語の基本については、無料で学べるプログラミングの学習サービス(Progateドットインストール)で理解するようにしましょう。

ここでは、基本を学習した前提で、未経験から転職が可能になるレベルにどのように到達するかを解説します。

クローンアプリを作る

まずは、簡単なWebアプリを実際にゼロから構築してみましょう。Progateやドットインストールで学べるプログラミングスキルは、氷山の一角のようなものです。

実践的なスキルを身につけるには、自分でゼロからWebアプリの公開までを経験してみるのが、一番確実に実力がつきます。

自社開発のWeb系エンジニアになる場合は、Ruby on Rails(Ruby)を学ぶ場合は、Railsチュートリアルがおすすめです。

Rubyを学ぶ時は、Railsチュートリアル(無料)が一番有名で、数ある教材の中でも学べる内容の量と質がトップクラスです。

しかし、初心者には難しすぎるのが難点なので、挫折せずにチュートリアルを完走する解説記事も合わせて参考にすることをおすすめします。

SESへの転職の場合、Laravel(PHP)を学ぶのがおすすめです。

Laravelを学ぶ時は、Laravelに関する情報が網羅的にまとまった「Laravel学習帳」で基本の知識を学習します。(全て無料で公開されています)

解説記事をひととおり確認したら、次のステップとしてサイトにあるチュートリアルを実践してみましょう。Laravel学習帳でのチュートリアルを終えたら、復習も兼ねて、「入門Laravelチュートリアル」で、TODOアプリの開発もおすすめです。

オリジナルアプリを作る

クローンアプリの開発が出来るようになったら、応用としてオリジナルアプリの開発にも取組みましょう。

最低でもRailsチュートリアルやLaravelチュートリアルを2週〜3週くらいは繰り返しておくと、オリジナルアプリの開発もスムーズに出来るかと思います。

オリジナルアプリのレベル感としては、チュートリアルで実装したような、一般的によく使われる機能があればOKです。

具体的には、CRUD処理、Migrationによるデータベース管理、HTTP通信の基礎などが、自分で考えたオリジナルのアプリで実装できていれば、ポートフォリオに掲載するレベルとしては十分ではないでしょうか。

独学かスクールか

サーバーサイドエンジニアに必要なスキルの勉強をする上で、独学かプログラミングスクールに通うか、迷うことがあると思います。

それぞれの特徴や、自分に合った選択肢を選び、効率の良い勉強をしていきましょう。

独学は難しくないが時間がかかる

Progateやドットインストールなどで、プログラミング言語の基本を学習してみると、それほどハードルは高くないと思いますが、サーバーサイドエンジニアを目指す場合は言語とセットでフレームワークの習得が必須です。

言語自体の習得は独学でもスムーズに行く場合が多いですが、フレームワークの学習にはとても時間がかかります。

最低でも1年くらいの長期的な学習期間を想定して、コツコツと勉強を継続すれば、独学でも必要なスキルは学べます。(時間はかかりますが…)

また、独学をするにしても、身近にエンジニアをしている知人や、誰かアドバイスをくれるような人がいれば、スムーズに学習できると思います。

教えてくれる人がいない場合はスクールがおすすめ

学習期間は最短で、なおかつ身近に相談ができるエンジニアがいない、という方にはスクールがおすすめです。

スクールには学習でつまずいたときに、すぐに質問ができるメンターがいるので、独学で勉強をするよりも、効率的にスキルを習得できます。

おすすめのプログラミングスクールについては、こちらの記事を参考してください。

【失敗しない】本気でおすすめできるプログラミングスクール厳選6社徹底比較

サーバーサイドエンジニアの一部の今後の需要について

最近だと、サーバーサイドエンジニアの仕事もなくなるという情報を見かけたりもしますが、今すぐに消滅するような仕事ではありません。

新しい技術が誕生して、サーバーサイドのプログラミングが不要でアプリやシステムが開発できたとしても、これまでに開発されたシステムが残っているのではないでしょうか。

これら既存システムのメンテナンスや改修作業などは、今後もサーバーサイドエンジニアの仕事として多くが残り続けます。

システムの寿命は長いものだと、10年以上も運用されるような寿命の長いものも多いので、そのようなシステムの案件なども考えると、今後の需要も高いと言えます。

サーバーサイドエンジニアになるための求人

未経験からエンジニアに転職したい方は、こちらの記事を見てみてください。

エンジニアに未経験から転職するためにやること3か条【知らないと後悔します】