こんにちは!管理人のうみねこ(@penta59631)です。
以前に、以下の記事で予算10万円で自作したPCの構成紹介を行いました。
あれから、数年が経ち、今の構成も結構変わっているので改めて紹介します!
こんな方におすすめ!
- PC自作を考えているので、他の人がどういう構成にしているか知りたい。
「エンジニアに興味があるけどエンジニアってそもそもどんな仕事なの?エンジニアになりたいけど種類が多すぎて、違いがわからないから知りたい!」
という方に向けた記事です。
IT業界やエンジニアには興味があるけどエンジニアの仕事ってよくわからないという人が多いのではないでしょうか。
この記事ではIT企業のエンジニアのお仕事についてわかりやすく解説していきます。
エンジニアの仕事って?
システムを開発する場合、基本的に以下のような流れで開発を進めていきます。
- 要件定義(計画)
- 設計
- 開発
- テスト
- 納品(リリース)
- 運用・保守
開発手法によって多少異なる点はありますが、大きく6つのフェーズがあります。
エンジニアはこれら全てのフェーズに携わります。
まず要件定義フェーズでは、システム化を行うために必要な要件を洗い出します。
続いて設計フェーズでは、要件を元にシステムの全体像をドキュメントやプロトタイプというような形で作成します。
開発フェーズでは、設計した内容を元にプログラムの作成や機器の設定を行います。
その後テストフェーズに移り、作成したプログラムや機器の設定を正常動作、障害発生時、連携動作、セキュリティ等さまざまな観点からテストします。
テストフェーズは問題点を見つけることを目的に行います。
テストを何回か繰り返し、精度を上げていきます。
テストに合格したシステムは晴れて納品となり、納品された後は運用・保守というフェーズに移行します。
システムはここから本格的に稼働します。です。
実際に稼働させながら問題点や改善点があれば改修を行います。
全てのフェーズに携わると言っても全てを一人でこなすのは難しいため、実際はチーム制で作業を分担して行うことが多いです。
エンジニアには、技術的な知識はもちろんのことコミュニケーション能力も重要になります。
ここでのコミュニケーション能力は、面白い話ができるとかではなく大きく以下の2点が重要です。
別の会社が関わる仕事となると、後から言った言わないとなることも多いです。
そのためこの2点のスキルが重要になってきます。(ベテランでもできない人はたくさんいるんですけどね…笑
さてそんなエンジニアですがいくつか種類があります。
IT企業に馴染みの無い方だとシステムエンジニア(SE)という言葉が一般的でしょうか。
ひとえにシステムと言っても、いろいろな技術が使われています。
皆が全ての技術を理解できれば、そんなに種類が必要ないのですが、実際はそうはいきません。
技術が進歩するごとにエンジニアは自然と枝分かれしていきました。
次の章からはエンジニアを種類別に解説していきます。
エンジニアの紹介
システムエンジニア
システムエンジニアはシステム全体の設計・設定を行うエンジニアです。
例えば銀行のATMシステムや、スーパーのレジのシステム、各企業が使う人事や給与を管理するシステムなどです。
特定の技術分野だけでなく、業務への理解も必要になります。
フルスタックエンジニア
フルスタックエンジニアは、技術のスペシャリストです。サーバ、ネットワーク、フロントエンド、バックエンドなど何でもこなせるエンジニアです。
フルスタックエンジニアはエンジニアの究極系みたいな位置づけなので、なるためには相当な学習や経験が必要です。
最近はクラウドが浸透してきて、インフラも開発もできるエンジニアが求められてきています。
フルスタックエンジニアの需要は伸びる一方なので、目標としてはこのエンジニアを目指すことをおすすめします。
セールスエンジニア
セールスエンジニアは、どちらかというと営業的な仕事を行うエンジニアです。営業に同行して、技術的な立場から営業活動を行い仕事を取ってきます。
実際にシステムを作ることは少ないため専門的な細かい知識は必要ありませんが、ある程度の技術力と営業スキルが要求されます。
セキュリティエンジニア
セキュリティエンジニアは、システムのセキュリティ対策や調査、脆弱性診断などの仕事を中心に行うエンジニアです。
代表的な仕事としては、システムに脆弱性がないか調査するセキュリティ診断、ペネトレーションテストや、システムを不正利用された際にその痕跡を調査するフォレンジックなどがあります。
いずれも高度な技術、知識が必要となるため、まずはシステムの開発学び、そこからステップアップするという人が多いです。
セキュリティエンジニアの細かい仕事内容や、なり方については以下の記事でもまとめているので興味がある方はご覧ください。
インフラエンジニア
インフラエンジニアは、ジャンルにとらわれずインフラ全般の仕事を行うエンジニアです。
私はちょっと前までこの職種でしたが、ネットワーク、サーバー、データベース、クラウド、セキュリティ等さまざまな仕事を行った経験があります。
インフラ全般的な知識を得ることができます。機器を設置するために顧客のサーバーフロアやデータセンターなどに赴くことがあります。
インフラエンジニアの細かい仕事内容や、なり方については以下の記事でもまとめているので興味がある方はご覧ください。
ネットワークエンジニア
ネットワークエンジニアは、ネットワークの設計や設定を行うエンジニアです。
ファイアウォール、ロードバランサー、ルータ、スイッチ、WAFなどさまざまなネットワーク機器を実際に触りながら設定を行います。
ネットワークの設定を一つ間違えただけで全てが繋がらなくなるということもあり得るため重要な仕事です。
ネットワークを作るのは、自分なりの道を作るような感覚になれるのでそういうものを作るのが好きという人におすすめです。
データベースエンジニア
データベースエンジニアは、データベースの設計やチューニングを行うエンジニアです。
データベースとはデータを保管するための箱の様なものです。
その箱の中にデータを入れるわけですが、どういう風に入れるか、どのように取り出すかなどさまざまな決め事がないとうまくデータを管理できません。
そのような決め事を設計、設定していくのがデータベースエンジニアの仕事です。
クラウドエンジニア
クラウドエンジニアは、クラウドサービスの設計、設定を専門に行うエンジニアです。
クラウドとは、利用者側で機器を購入せずにインターネットを通じてその機器のリソースを使用できるサービスです。
大手クラウドサービスだと、Amazon Web Service、Microsoft Azure、Google Cloud Platform、Alibaba Cloudなどがあります。
近年、システム開発を行うにあたってクラウドサービスを選択するという企業も増えてきました。
基本的にクラウドサービスもベースの技術は変わりませんが、クラウド特有の用語や設計・設定等もあるためそれらを理解し、適切なクラウド設計を行うスキルが求められます。
サーバーエンジニア
サーバーエンジニアは、サーバーの設計、設定を行うエンジニアです。
OSのインストールから各種サーバー(Webサーバー、DBサーバー、ファイルサーバー等)として機能させる所までの仕事を行います。
OSもVMware、Wiondows ServerやLinux、Unixなどさまざまな種類があります。
サーバーエンジニアの方は、自宅で環境を作ってサーバーを稼働させているという人も多いです。
カスタマーエンジニア
カスタマーエンジニアは、機器の交換や種類を行うエンジニアです。
機器が故障した際に、機器が設置されている現場に向かい交換・修理作業を実施します。
カスタマーエンジニアになるためには、機器を販売している会社あるいはその会社が発注している会社に入る必要があります。
アプリケーションエンジニア
アプリケーションエンジニアは、Webアプリケーションやスマホアプリ、業務システム等のアプリケーションの設計・実装を行うエンジニアです。
アプリケーションは他の部分と連携することも多いためプログラミングの知識に加え、データベースやサーバー等の知識も必要になります。
フロントエンドエンジニア
フロントエンドエンジニアは、Webサイトの利用者に見える部分の設計・実装を行うエンジニアです。
HTML、CSS、Javascriptで利用者のブラウザで行われる処理を実装していきます。
実装の際は、デザイナーや後述するバックエンドエンジニア等とコミュニケーションを取りながら行うことが多いです。
バックエンドエンジニア
バックエンドエンジニアは、フロントエンドエンジニアとは逆にサーバ側で行う処理の設計・実装を行うエンジニアです。サーバサイドエンジニアと呼ばれたりもします。
利用者のリクエストに応じて動的にページを返すような処理を行ったり、データベースやファイルにアクセスするための処理をプログラミング言語を用いて実装していきます。
エンベデッドエンジニア
エンベデッドエンジニアは、機器(車やスマホ、家電等)に組み込むプログラムの設計・実装を行うエンジニアです。
機器自体にプログラムを組み込むことからその機器が一度、手元を離れて利用者の手に渡るとプログラムの修正をすることができなくなります。
そのため、他の開発系エンジニアと比べてさまざまな観点から物事を考える必要があります。
エンジニアになるためには?
エンジニアは未経験からでもなることができます。
私も学生時代は文系でしたが、今は、セキュリティエンジニアとして日々の業務を行っております。
以下の記事では、文系からエンジニアになるために必要なことをまとめております。
また、エンジニアになるには大事なことがあります。
この記事を見て、〇〇のエンジニアになりたい!と思った人もいるかも知れません。
エンジニアになるまで、そしてなった後も向上心を持っていればエンジニアとしてずっと成長していけると思います。
未経験の方では、何から勉強していいかわからないという方もいると思うので以下の記事では、IT初心者向けにおすすめな勉強本を紹介しています。
以下の記事ではセキュリティの勉強におすすめな本も紹介しているので、セキュリティエンジニアになりたい!と思っている人は必見です。
さいごに
どのエンジニアを目指すかはそれぞれの好み、適正があると思います。
この記事がみなさんが職種を決める手助けになれば幸いです。