バックエンドエンジニアは、プログラムの見えない部分、中身の処理を書きます。「単にプログラム(JavaやRuby)が書けて終わり」ではなく覚えることが多いのがバックエンドエンジニア。
フロント(画面)側の知識、データベースやフレームワーク、サーバー知識も勉強するので、すぐになれるものではなく。
早くて3~6か月、長いと1年はごく普通に時間がかかります。
テックアカデミーなどのプログラミングスクールに通えば、短い期間でバックエンドエンジニアになれるのがメリット。
びっくりするほど地道な調査と覚えることの積み重ねなので、筆者自身、つらいと感じるところはあります。
ただ、年収は高めで、副業もフリーランスも高単価案件がゴロゴロとあります。
バックエンドエンジニアはどんなエンジニアなのか?を説明しつつ。実際になるために必要なロードマップ、スクールを検討している人向けに、スクールの紹介をします。
【テックアカデミーの公式サイト】https://techacademy.jp/trial/lp/htmlcss-trial-2
バックエンドエンジニアとは、使う人の目には見えない処理を書く
バックエンドエンジニアについて一言でわかりやすく言えば、実際に使う人には見えない処理を書くエンジニアのことです。
なんだか、ピンとこない
となってると思うので、ソシャゲを例に説明します。
バックエンドの例でわかりやすいのは、ソシャゲのガチャのプログラム
ソシャゲのガチャを抽選する中身のプログラムを書くが、バックエンドエンジニアです。
例えば、こんな感じの画面があったとして(※架空の画面です)。
ガチャるを押したら、文字通りガチャの抽選が始まりますが、プログラムでやっています。
ガチャの確率がおかしい!
みたいにSNSで話題になったりしますが、ガチャを引いた人から見れば、「裏で何をやっているかが目に見えない」からこそ言われるわけで。
実際に不正している可能性もあるし、不正していない可能性もあるけど、開発した人しかプログラムの動きはわかりません。
実際にプログラムを組んだ人にしか見えない、言い換えれば、使う人の目には見えない中身の処理がバックエンドエンジニアが書くプログラムです。
未経験からバックエンドエンジニアになるには?ロードマップは2つ
未経験からバックエンドエンジニアになるには、2つのことを意識してください。
- 【その1】プログラミング言語を選んで勉強【独学・スクールどちらも可】
- 【その2】フロント側の知識やDB、開発言語のフレームワークの知識もいる
- 【おまけ】覚えることが多くて大変だけど、その分だけ年収は高い
※「ロードマップ」=「実現への道のり、計画」的な意味のIT用語。
プログラミング言語を選んで文法の基礎を勉強するのに、1~2か月。フロント側、DBや主要なフレームワークを使いこなせるようになるのに、2~4か月程度。
「独学なら早くて6か月、スクールなら早くて3か月程度でフロント~コーディングの知識を固めてアプリを作る」のが、ざっくりとしたロードマップ。
【どこまでできればいいのか?】プログラミングはどこまでできればいい?アプリ作るまでが到達点
※「資格はいらないの?」と思う人も多いと思いますが、とるなら基本情報技術者試験。ただ、スキル>>>>>資格なので、優先度は低め。余裕があるなら合格しておくといい程度のものです。
【その1】プログラミング言語を選んで勉強 【独学・スクールどちらも可】
バックエンドエンジニアになるには、まずはプログラミング言語を選ぶこと。
どの言語を学びたくて何を作りたいか?
「何を学びたいか?」と「何をしたいか?」がはっきりしていないと、ロードマップもなにもないわけで。
どの言語を選べばいいの?
Java・Python・PHP・Rubyを勉強します。
- Java:汎用性が高い(なんでもできる)
- Python:人工知能系や統計解析が強い
- PHP:webサイトに特化。ブログ型サイトを作るWordpressは、これ
- Ruby:Ruby on Railsというフレームワークが初学者にやさしい
SESが多いとか悪く言われるけど、迷ったら汎用性の高さから(なんでもできる)Javaです。
【関連記事】社会人エンジニアはまず初めにどのプログラミング言語を学ぶべき?
独学で学ぶなら有名な本を読みつつじっくり
独学で学ぶなら、Javaなら「スッキリわかるJava入門」、Rubyなら「チェリー本」が有名。
「プログラミングを独学で学ぶのは難しい?無理ではないのでやってみるが肝心」でも書いていますが、時間がかかってもいいなら、独学にするなら「まずは1本ソースを書く」のが重要。
いや、6か月くらいで何としてでもエンジニア転職を決めたい!
と考えているなら、プログラミングスクール一択です。
スクールにするなら、テックアカデミーかCodeCampの2つが、バックエンドの言語すべてのカリキュラムがあります。料金が安いのはテックアカデミーで、無料体験後に1万円の割引があります。
【その2】フロント側の知識やDB、開発言語のフレームワークの知識もいる
プログラミング未経験者だとすれば、JavaやRubyといったバックエンドの言語だけでなく、フロントエンジニアでも勉強する、Html/CSS/JavaScriptの知識も覚えるべきです。
※「Html/CSS/JavaScriptは、プログラミング言語でない」という人も多くいるので注意。(とくにHtmlは、「マークアップ言語」って言ったりする。)
さらに、データベース(DB)の知識や、開発言語のフレームワーク(FW)や開発環境構築の知識も必要。
Javaで一番使われているフレームワークのSpring Frameworkであれば、雰囲気だけ書くとこんな感じです。
/**
* 画面で入力された情報をもとに車の部品の型番を検索するクラス
**/
@Controller
public class SearchModelController {
/**
* 初期処理
* @return 遷移先
**/
@RequestMapping(value = “init”, method = RequestMethod.GET)
private String init() {
return “hoge/entry.jsp”;
}
/**
* 検索ボタンを押したときの処理
* @param form 検索画面フォーム
* @return 遷移先
**/
@RequestMapping(value = “search”, method = RequestMethod.POST)
private String search(KensakuForm form) {
// 車の部品を探す処理を書く
form.setCarSbt(“プリウス”);
return “hoge/search.jsp”;
}
}
「@RequestMapping」とかなんやねん!
とか思った人もいると思いますが・・・(ちなみにJSP側でPOSTしたURLと、”value”が同じメソッドが呼ばれる的なのがざっくり説明)。
はじめは、意味不明であること間違いなしだけど。1つずつ覚えていくしかない。だから大変です。
【おまけ】覚えることが多くて大変だけど、その分だけ年収は高い
フロント側もやるなんて大変じゃん。それにDBやらFWやら・・・
色んな事をはじめから勉強するなら、早くて3か月。ふつうにやっていれば、半年かかっても不思議でないです。
ただ、覚えることが多いその分だけ、フロントエンドエンジニアより年収は高いです。
【関連記事】バックエンドエンジニアのつらい部分は3つ。難易度は高いけど年収も高い
フロントエンドエンジニアの簡単なコーディングだけを担当するよりは、将来性は高いし。
長い目で見れば、バックエンドのほうがいいです。フリーランスや副業案件も高単価案件がゴロゴロ。時間をかけて勉強する価値はあります。
【関連記事】バックエンドエンジニアの副業は4つ。実務経験あれば休日の案件を
バックエンドエンジニアになるためのスクールのおすすめは?
バックエンドの言語を学ぶにあたって、スクールを検討している場合は、Java・Python・Rubyが学べるスクールを選択します。
【関連記事】社会人におすすめのオンラインプログラミングスクールは?学ぶ言語別に解説
【選び方】スクールの転職保証のありなしはどうすればいい?
転職保証ありのスクールの方がいいんだよね?
転職保証コースありのスクールは、軒並み400,000~600,000円程度。正直にいえば、高いです。
※保証付きのスクールにすると決めてるなら、PythonならAidemy、RubyならRUNTEQが一番カリキュラムがしっかりしています。就職をとにかく急ぐなら、保証付きの方がいいかも。
プログラムの基礎を学んだら、転職活動は自分でするよ
と言う人であれば、料金的にはテックアカデミーかCodeCampを選ぶ方が、リーズナブルです。
Slack(チャットアプリ)で質問しやすいという点を考えると、テックアカデミーが、12週間:284,900円でこれから紹介するスクールではコスパよし。無料体験後なら、1万円の割引です。
Javaのスクールの場合
Javaの場合のおすすめのプログラミングスクールは4つです。
テックアカデミー | DMM WEBCAMP | CodeCamp | ウズウズカレッジ | |
---|---|---|---|---|
入会金 | 0円 | 0円 | 33,000円 | 0円 |
料金 | 4週間:174,900円 8週間:229,900円 12週間:284,900円 16週間:339,900円 (無料体験後1万円割引) | 4週間:169,800円 8週間:224,800円 12週間:279,800円 16週間:334,800円 (30%キャッシュバック 期間中なら一番安い) | 8週間:165,000円 12週間:275,000円 16週間:330,000円 (無料相談後1万円割引) | 月額44,000円 |
受講期間 | 4~16週間 | 4~16週間 | 8~16週間 | 120時間(2~3か月) |
体験レッスン | ○ (こちらのページ) | 〇 (こちらのページ) | × | × |
無料相談会 | × | × | ○(こちらのページ) | ○(こちらのページ) |
転職サポート | × | × | × | ○ |
強み | 無料体験あり 疑問点はSlack で質問できる | キャッシュバック キャンペーン の期間中であれば 最安値 | 7~23時まで カリキュラム を消化できる | Javaに特化。 UZUZ就活チャンネル でYouTubeを運営 |
おすすめ度 | ★★★★☆(4.5/5) | ★★★★☆(4.5/5) | ★★★★(4/5) | ★★★★(4/5) |
評判・口コミを見る | テックアカデミーの評判 | CodeCampの評判 | ウズウズカレッジの評判 |
【関連記事】社会人がJavaを学べる安いオンラインスクールは?料金順に解説
一つだけ補足すると、ウズウズカレッジは最近できたスクールなので、様子見の意味もこめてあえて評価を落としています。ただ、悪くはなさそう。
Pythonのスクールの場合
Pythonの場合のおすすめのプログラミングスクールは5つです。
【関連記事】Pythonのオンラインスクールで安いのは?料金順に紹介
Rubyのスクールの場合
Rubyの場合のおすすめのプログラミングスクールは5つです。
テックアカデミー | CodeCamp | DMM Webキャンプ | RUNTEQ | ポテパンキャンプ | |
---|---|---|---|---|---|
入会金 | 0円 | 33,000円 | 0円 | 0円 | 0円 |
料金 | 4週間:174,900円 8週間:229,900円 12週間:284,900円 16週間:339,900円 (無料体験後1万円割引) | 8週間:165,000円 12週間:275,000円 16週間:330,000円 (無料体験後1万円割引) | 【転職保証なし】 4週間:169,800円 8週間:224,800円 12週間:279,800円 16週間:334,800円 【転職保証あり】 12週間:624,800円 16週間:679,800円 | 437,800円 | 5か月:440,000円 |
受講期間 | 4~16週間 | 8~16週間 | 4~16週間 | 8~10か月 | 5か月 |
体験レッスン | ○ (こちらのページ) | × | × | × | × |
無料相談会 | × | ○ (こちらのページ) | ○ (転職保証なしはこちら) (転職保証ありはこちら) | ○ (RUNTEQのページ) | ○ (こちらのページ) |
転職サポート | × | × | × | ○ | ○ |
強み | 無料体験あり 疑問点はSlack で質問できる | 7~23時まで 自由にカリキュラム を消化できる | 転職保証なしのコースは 30%キャッシュバック 期間中がねらい目。 転職保証ありなら PROが働きながらできる | YouTube もやってる。 イメージキャラ が前田敦子 | RUNTEQより カリキュラム が短期間 |
おすすめ度 | ★★★★☆(4.5/5) | ★★★★(4/5) | ★★★★(4/5) | ★★★★(4/5) | ★★★★(4/5) |
評判・口コミを見る | テックアカデミーの評判 | CodeCampの評判 | DMM Webキャンプの評判 | RUNTEQの評判 | ポテパンキャンプの評判 |
【関連記事】社会人がRubyを学べる安いオンラインスクールは?料金順に解説
バックエンドの言語は、Java・PHP・Python・Ruby
バックエンドのプログラム言語と言えば、Java・PHP・Python・Rubyで、それぞれの特徴は下記のとおりです。
- Java:汎用性が高い(なんでもできる)
- Python:人工知能系や統計解析が強い
- PHP:web系に特化。ブログ型サイトを作るWordpressは、これ
- Ruby:Ruby on Railsというフレームワークが初学者にやさしい
※他にも、Goなどが流行っていますが挙げてたらキリがないので・・・。
どの言語がいいのか?を書き出すと長くなるので、「社会人エンジニアはまず初めにどのプログラミング言語を学ぶべき?」でまとめています。
簡単に言えば、
- 汎用性が高い(アプリ系でも業務系でも使える場面が多い)
- 案件数が多い
- 古参の言語で信用がある
の3つの理由があるので、迷ったらJavaでよいかと。
バックエンドエンジニアとフロントエンドエンジニアとの違いは?
バックエンドエンジニアの対になるのが、フロントエンドエンジニア。
※実際には「フロントもバックエンドも両方やります!」的な人もいるし、場面によっては両方やらざるを得ないし。バックエンド1本でやっていく人など、いろんなパターンがあるので、あまり深く考えすぎないほうがいいかもですが・・・。
バックエンドが目に見えない処理をやるのに対して、フロントエンドエンジニアは、画面をデザインしたりします。
【関連記事】フロントエンドとバックエンドのエンジニアの違いは?
【関連記事】バックエンドエンジニアとインフラエンジニアの違いは?【どちらも裏方】
ソシャゲで例えると、画面をデザインして、バックエンドで処理した結果を表示するイメージ。
どちらかと言えば、営業の寄りの色が強いエンジニアもいて、バックエンドとは方向性が違います。
バックエンドエンジニアに向いている人は?
バックエンドエンジニアに向いている人は、「社会人が未経験でエンジニアになる場合の自己PRできるスキルは3つ」とも話がかぶりますが、下記のとおりです。
- コミュニケーション能力=相手にプログラムの内容をわかりやすく伝える
- スケジュール管理能力=ロジックを実装するのにかかる時間を逆算
- 自己解決力【最重要】=わからないことは、とにかく調査
バックエンドでは、フロント側から受け取ったデータを登録したり、計算をして加工、集計をするので、「どうやってそれを実現するのか?」を考えながらプログラムを書いていきます。
それは自分で考える必要があるので、論理的思考(数学的なもの)が得意な人だったり。
「ミスが1つもない状態になるまで」テストを行いながら、プログラムを仕上げていくので、地道な作業が得意な人がバックエンドエンジニアに向いています。
まとめ:バックエンドは目に見えない処理で論理的思考が必要
話をまとめると、目に見えない処理を書くのがバックエンドエンジニア。
プログラミング言語で言えば、Java、Python、PHP、Rubyを書くエンジニアだと思ってください。
データを登録したり、計算をしたり、まとめたり、集計したりするのがお仕事。
- 【その1】プログラミング言語を選んで勉強
- 【その2】フロント側の知識やDB、開発言語のフレームワークの知識もいる
- 【おまけ】覚えることが多くて大変だけど、その分だけ年収は高い
DBやフレームワーク、Webサーバー周りの知識など、覚えることは多いです。
「バックエンドエンジニアは不要?大企業のシステム開発ではほぼ無縁の話」でも書いていますが、プログラムの中身(処理)を書く人の仕事がなくなることはないし。大企業のシステム開発案件も豊富で安定しているし、年収もやや高め。
フリーランスであれば、50~80万円/(1か月)の精算がふつうです。
「論理的思考ができる人の方が向いている」と言えるし、学生時代に数学が得意だった人はぜひ、バックエンドエンジニアを目指してみてください。
コメント