【未経験の方へ】エンジニアにはどんな種類があるかご紹介します

こんにちは、フリーランスエンジニアのサカイです。

エンジニアって一口にいっても、実はその仕事内容は様々です。
なのでやりがいや面白さ、適性もバラバラなんですよね。

エンジニアの種類は、実は細かくあげれば数十種類に分けることができます。

ただいきなりその種類をすべて知る必要があるかというと、それは不要です。
混乱するだけですから。

特に未経験であれば、まずはざっくりとどんな分野の開発があるのかを知って、
興味を持った分野をより深く掘り下げていった方が判断しやすいです。

ですので今回はまずどんな分野の開発があるのかを5つに分けてご紹介します。

僕は制御系がメインのキャリアではありますが、
ありがたいことにかじったものや側から見てたものも含めれば、
それなりにだいたいの分野を見ることができました。

今回は僕の経験も含めつつ、エンジニアの種類をご紹介します。

これを読んでいるあなたは恐らく就職、転職を考えていると思いますので、
あなたに合った仕事を見つける参考にしてもらえたらと思います。

エンジニアの種類には何がある?

エンジニアの種類と言っても、
全てのエンジニアが「~~エンジニア」っていう肩書きを持っているわけではありません。

Webエンジニア、組み込みエンジニア、ゲームプログラマーとかって、
呼び名として聞くものはありますが、
業務用アプリエンジニアって聞いたことがありません。

それに一人のエンジニアがずっと同じことをやってるとは限らないので、
肩書きよりは分野で説明した方が良いと思っています。
実際に僕も色々やってきたし。

なのでどんな分野があるのかご紹介しますね。
「~~系」という呼び名が一般的なので、「~~系」で分けてご紹介します。

1.Web系

いわゆるWebサイトやWebサービスを作る分野です。

企業のホームページや、SNS、
ショッピングサイトやポータルサイト、掲示板などなど、
普段僕達がインターネット上で目にするほとんどのものが該当します。

Web系の仕事は、主に役割が2つに分かれています。

Webサービスというのは、ざっくり分けると、
ブラウザにページの内容を表示するデザイン的な部分と、
裏でデータを更新している部分に分かれるんです。

画面の表示的な方がフロントエンド
裏のデータ更新をバックエンドと言います。

現場によっては両方担当する場合もありますが、
規模の大きな現場だと担当が分かれます。

単純にWebに興味があるといっても求められるスキルが違いますので、
あなたが携わりたい方に合ったスキルを勉強しておくと良いでしょう。

フロントエンドがやりたいなら、HTML、CSS、JavaScriptは必須です。

バックエンドなら、PHP、Rubyのどちらかを勉強しておくと良いでしょう。

ちなみにPHPで作られているものといえば、
フェイスブック、ウィキペディア、Yahoo、ぐるなび、
Rubyで作られているものは、ツイッター、hulu、クックパッド、食べログです。

Webで仕事をするなら全体の構造を理解しておく為にも、
フロントエンド志望でもバックエンド志望でも
PHPかRubyのどちらは勉強しておくといいと思います。

2.組み込み系

簡単に言うと、モノづくりですね。

Web系はブラウザ上で見たり使うものですが、
組み込みはハードウェアを制御する点が決定的な違いです。

家電製品から、医療機器、航空、自動車、挙げだしたらキリがありませんが、
モノを制御するプログラムの開発です。

組み込みは、扱うものにもよりますが開発した時の達成感が大きいです。
「おぉー、動いた!」っていう、自分がものを動かしている実感を感じやすいです。

モノづくりやハードウェアに興味がある人にはおススメの分野です。

組み込み系は大きな規模になると、ざっくり2つに担当が分かれています。
ファームウェアとアプリケーションです。

ファームウェアはハードウェアを直接制御する部分。
アプリケーションはハードウェアを意識せず、やらせたいことを書くだけの部分です。
機器全体を制御する部分ですね。

ファームウェアは、ハードウェアとアプリケーションを仲介してくれるような役割です。

アプリケーションがやっている全体の制御は「制御系」と言われることがあります。
僕は制御系の仕事がキャリアの中では一番長いです。

まあ「組み込み系」「制御系」の呼び名を同じように使う人もいますし、
細かいことは置いといて「モノづくり」という意味でまずは捉えてもらうのが良いと思います。

組み込み系、制御系に興味があるなら、C言語はマストです。
できればC++も知っておいた方がいいですが、Cは絶対必要です。

3.業務系

業務系は「企業で効率化などの目的で使っているシステム、ツール」の開発です。

例えば製品を製造している企業でしたら、在庫管理システムなどがあります。
あとは社員の方の勤怠管理システムとか。社員の方が業務で使うツールもそうですね。
流通系の企業であれば、POSシステムなどもそうですね。

まあ挙げだしたらキリがないんですが、とにかく「仕事で使用されるもの」です。
業務アプリなんて言い方をされる場合もあります。

業務系はデータベースを使うものが多いですね。

あとこの分野に興味があるなら
Javaを学習しておけば、まあ無駄になることはありません。
必ず役立つことでしょう!ってぐらいJavaが使われています。

たとえJava以外の言語で開発されているシステムに参画することになっても、
Javaが使えるぐらいのスキルなら、他の言語の習得にもそんなに苦労しないと思います。

なのでJavaの勉強はマストですね。

4.ゲーム系

ゲーム系はあまり説明する必要がありませんね。ゲームの開発です。

ただ

  • PSなどの本体があるゲーム
  • PC上でやるゲーム
  • スマホゲーム
と色々あるので、現場によって必要なスキルは変わってきます。

いわゆるゲームソフトに関してはC++が主流のようですが、
最近はC#JavaScriptで作ることも多いようです。

またUnityなどの開発環境を使って開発する現場もあるので、
そのあたりの知識もあると役立ちます。

基礎知識としては、三角関数とか、フレームレートとかは知っておくといいですね。

三角関数はキャラとキャラの位置を計算したりするのに使います。
フレームレートは1秒間にパラパラ漫画を何枚で作るかって話です。

GPUとかVRなどの動向もチェックしておくといいでしょう。

5.インフラ系

今までご紹介した分野が「何かを作る」仕事だったのに対して、
インフラ系は「維持する」仕事です。

お相手はサーバーくん達です。
企業で管理しているサーバーが正常な状態で稼働し続けるようにするお仕事です。

インフラ系は定常業務が多いですね。
サーバーのログをチェックしたり、容量をチェックしたり、など。

なので日々の業務をキッチリこなすことに気持ち良さを感じるタイプなら向いています。
「色んなものを作りたい」なら向いていません。

バッチやシェルなどの短いプログラムはたまに書きますが、
今までご紹介した分野に比べたら全然プログラミングしないです。

インフラ系はプログラミング言語というよりは、
サーバー、ネットワーク、データベース、セキュリティの知識が求められます。
今ならAWSの知識はマストですね。

プログラミング言語よりネットワークなどに興味があるなら
インフラ系がいいでしょう。

1つ重要なことですが、
この分野に向いているのは「心身ともにタフな人」です。

緊急対応や夜間対応もあり、ミスが許されない作業が多いので、
風邪をひきやすかったり、メンタル弱い人にはなかなかおススメできないですね。

さいごに

  • Web系
  • 組み込み系
  • 業務系
  • ゲーム系
  • インフラ系

ざっくり分けると、今回のような分け方になります。
厳密なことにこだわる人からは突っ込みがきそうですが、
未経験の人が知る情報としては丁度良いと思っています。

もし今から仕事を探すのであれば、
種類にこだわらず「何が作りたいのか?」ということから明確にするのが良いと思います。
作りたいものを曖昧にして会社に入ってもいまいちやりがいを感じられないと思いますので。

あなたに合った開発が見つかることを願っています^_^

それでは、快適なエンジニアライフを!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください