最近かなり多い、「わからないけどとりあえずエンジニアになろう」
そう考えてプログラミングスクールに通うと当然情報ギャップが生まれるわけです。
私自身エンジニアを経験しましたが、
この3つだけは最低限絶対に知っておいた方が良いです。
- サーバサイドエンジニア(バックエンドエンジニア)
- フロントエンドエンジニア
- インフラエンジニア
何故知るべきか。
Web系会社の開発現場は、大体この3種類のエンジニアによって成り立っているからです。
それぞれわかりやすく
- どんな役割、言語を扱うのか
- 未経験の視点でどんな魅力があるのか
- どんな大変さがあるのか
をお伝えします。
Contents
サーバサイドエンジニア(バックエンドエンジニア)
どんな役割、言語を扱うのか
1つ目は、サーバサイドです。
バックエンドとも言ったりします。
サーバサイドとは、裏側の処理の部分を言います。
例えば、YouTubeの観たい動画を探します。
あ、この動画を観たい!と思ったら、その動画のタイトルの部分をクリックします。
そのボタンを押したときに、ちゃんと観たい動画のページを出す処理、
この処理をプログラミングを使って書くのが、サーバサイドエンジニアの仕事です。
今話したシステム自体を作るのは、プログラミングを勉強したらすごく簡単です。
ただ、その観たいページをいかに速く出して、観てるユーザにとって快適にアプリを使ってもらうかもサーバサイドエンジニアにとっては重要で、ここが難しいです。
その他にも、Twitter、インスタグラム、LINE、メルカリと言ったWebアプリと呼ばれる全ての裏側のシステムは、サーバーサイドエンジニアが開発しています。
プログラミング言語は、Java、PHP、Rubyといったサーバサイド言語と呼ばれるものです。
どんな魅力があるのか
未経験からエンジニアを目指すなら、絶対にサーバサイドエンジニアを目指した方が良いです。
理由は、圧倒的にどこも人が足りていなく、仕事がたくさんあるからです。
最近は、未経験からいきなり開発現場に行くハードルが高くなってきました。
それでももし、いきなり開発現場に行けるとしたらサーバサイドエンジニアが一番可能性が高く、どこの現場でも必要とされているので、市場価値が上がりやすいです。
どんな大変さがあるのか
これからご紹介するフロントエンドエンジニアやインフラエンジニア、実はサーバサイドエンジニアの人が全ての役割を兼務することもケースはすごく多いです。
とにかく人が足りないです。
だからサーバサイドエンジニアはこの後紹介するフロントやインフラの知識も当然求められます。
1年現場にいたとしても、自分のスキルの低さに絶望する人もたくさんいるほどです。
それでも、技術やサービスを作るのが好き、こういう人たちがエンジニアとして成功をします。
フロントエンドエンジニア
どんな役割、言語を扱うのか
フロントエンドエンジニアは、画面の見た目や動きを担当する人です。
習得すべきは、HTML/CSSとJavaScriptです。
特に重要なのがJavaScriptで、画面上に動きを持たせてより快適な動きを、ユーザーに届けることが可能です。
またモバイル対応もできるようにするのが、フロントエンドエンジニアには求められるため、幅広い知識が必要です。
どんな魅力があるのか
フロントエンドエンジニアの需要は、とても高いです。
JavaScriptやモバイル対応のために、幅広い知識が求められ、技術が好きな人にとってはとても楽しい分野です。
どんな大変さがあるのか
なんと言っても一番大変なのが、
このJavaScriptは、便利なライブラリやフレームワークと呼ばれるJavaScript言語で書かれた便利な道具が、たくさん用意されています。
このライブラリやフレームワークの流行り廃りがすごく激しく、常にキャッチアップをして、勉強を続けないといけないというのが現状です。
学習コストが一番かかるのはもしかしたらフロントエンドエンジニアかもしれません。
常に勉強しないといけないというのは、エンジニアなら当たり前です。
しかし、未経験からいきなりフロントエンドエンジニアを目指すのは結構ハードルが高いと思った方が良いです。
インフラエンジニア
・
どんな役割、言語を扱うのか
インフラエンジニアは、Web上に公開するための環境を整えるのが仕事です。
それだけでなく、監視と言って、
インターネットに公開しているWebサービスは、たくさんユーザーが集まったりメモリが足りなくなったりすると負荷がかかって公開できなくなることがあります。
サーバがダウンしたと言ったりします。
このサーバダウンを防いだり、ダウンした時に対応するのもインフラエンジニアの重要な仕事です。
どんな魅力があるのか
Webサービス公開する企業ならどこでも必要な仕事です。
しかも、ネットワークを構築するのは意外と楽しいというのをインフラエンジニアからよく聞きます。謎解きゲームに近い。
特におすすめはクラウドのインフラエンジニアです。
私自身、RaiseTechというプログラミングスクールを使って、AWSについて勉強をしました。
どんな大変さがあるのか
ネットワークの知識、つまり覚えることがたくさんあります。
CCNAという資格試験があるくらい、とにかく覚えることがたくさんあります。
インフラの知識は、Webエンジニアとして最低限知っておいた方が良い知識です。
それでも、インフラを専門に扱うとなると、覚えることがたくさんあります。
インフラの知見を活かして、コンサルとして仕事をする人もいます。
それほど、経験が重要とされる仕事がインフラエンジニアです。
最終的に未経験はどこから目指すべきか
最終的にエンジニアを目指すなら、どれでも良いです。好きなものを選んでください。
それでは決められないという方、最初サーバサイドエンジニアをおすすめします。
理由は、サーバサイドの仕事が幅広いため未経験から現場に入ったとしても、入り込む余地があるからです。
エンジニアは職人の世界です。エンジニアとしての信頼を獲得できるまで実績をつけないと仕事はもらえません。
まずは、小さな仕事を任せやすい、サーバサイドエンジニアが良いかもよという話です。
それが、テスターだったとしても、コツコツできることを増やして、現場経験を増やすのがエンジニアキャリアアップのコツです。
もしそんなまどろっこしいことしたくなかったら、自分でサービスを作っちゃいましょう。
結局サーバサイドエンジニアになったとしても、フロントエンドやインフラの全ての知識を最低限網羅している必要はあります。
エンジニアは、最低2年必死に勉強をして、やっと信頼してもらえるシビアな世界です。
それでも、今どこの会社に行ったとしてもプログラミングスキルを求められています。