はじめに
前回の記事でITエンジニアの全体像を紹介しました。
今回はITエンジニアの中のシステムエンジニアの種類について紹介します。
前回の記事をまだご覧になっていなければこちらから先にご確認ください。
ITエンジニアの種類はあくまでもただの概念なので、その範囲に縛られることなく最終的にやりたいことや目指したいことを想像しながら内容を確認してください。
システムエンジニアの種類概要
システムエンジニアはITエンジニアの中で下図の赤枠の部分になります。
今回はプログラマーやアプリケーション開発はWebエンジニアに纏めて解説します。
では図の上から順番に説明していきます。
インフラエンジニアとは?
サーバやネットワーク機器の設定や仕組みの構築、または最近ではサーバはAWS等のインターネット上にクラウドサーバとして構築することも多いです。
このように基盤系の構築を行う人をインフラエンジニアと呼びます。
どのようなシステムやソフトを動かすのにも基盤がなければ動きませんので、需要も多くもっとも重要な役割ともいえます。
インフラエンジニアになるのに共通で必要な知識はサーバの知識と基礎的なネットワークの知識です。
未経験からインフラエンジニアを目指すあなたはサーバに関してはこちらの記事を、ネットワークに関してはこちらの記事を参考に資格や知識を習得することをお勧めします。
私自身もサーバやネットワークに関する資格は勉強がてらに保有しており、資格自体より資格の勉強で得た知識が今でも役にたっております。
次にインフラエンジニアの種類を紹介していきます。
サーバエンジニアとは?
サーバエンジニアとは簡単にいえばサーバを構築する技術者です。
現在主にサーバで利用されているOS(オペレーディングシステム)はWindowsとLinuxになります。
両サーバともに基本的には同じような機能を持っております。
Windowsは未経験者でも馴染があると思いますが、Linuxで構築されているサーバはとても多いのでLinuxについての知識も習得することをお勧めします。
しかしLinuxは少し未経験者にとってはハードルが上がるのでまずはWindowsサーバの学習をしてから、Windowsと対になる設定はLinuxではどれかということを意識して学習すると進みが早くなるかもしれません。
例えばスケジュールを設定する機能がありWindowsでは「タスクスケジューラ」と呼ぶが、Linuxでは「クーロン」と呼びます。
それぞれの機能は同じよなものです。
またサーバといっても色々な役割のサーバがありますので、代表的な役割の一部を紹介します。
- ファイルサーバ
⇒名前の通りにファイルを保管しておくサーバです。
フォルダ階層の構造設定や部署ごとのアクセス権設定等をおこないます。 - Webサーバ
⇒ホームページ等のWebコンテンツを運営するためのサーバになります。
WebサーバソフトのAppache等の知識が必要になります。 - アプリケーションサーバ
⇒アプリケーション(ソフト)を導入するサーバになります。
業務系のソフトウェアや生産システム等色々な種類があります。 - DNSサーバ
⇒ドメイン名(コンピュータ名)とIPアドレスの変換を行うサーバです。
ネットワーク上必須なサーバです。
最近では企業の中にサーバを立てずにデータセンターといってサーバを一括で管理する場所にサーバを預けて運営することが主になっております。
その場合に必要になってくるのがVM等の仮想化技術です。
またこの後紹介するクラウドサーバも主流となっております。
クラウドエンジニアとは?
クラウドエンジニアとは上記で紹介したサーバをインターネット上に構築する技術者のことを指します。
企業で利用されているクラウドサーバを構築する基盤は主に以下の3つになります。
- AWS(アマゾン)
- Azure(マイクロソフト)
- GCP(グーグル)
上記どの環境を選択するのせよ基本はサーバの知識になりますのでまずはLinux等のサーバの学習をするのが必須となります。
もちろんクラウドの場合はインターネット上のリソースを活用するので、実際のハードを触る機会はありません。
ネットワークエンジニアとは?
ネットワークエンジニアとは、企業で社内や社外へ通信するための仕組みをつかさどるルーターという機器やスイッチと呼ばれる機器の設定を行うエンジニアです。
また最近では無線環境が当たり前になっておりますので、WiFiの知識も必要となります。
企業では主に以下の2つのメーカの機器を利用しております。
- シスコ
- アライドテレシス
メーカは違えど基本となる知識は同じです。
未経験からネットワークエンジニアを目指すのであればシスコのCCNAという資格を持っておくことは必須だと考えます。
私自身もネットワークエンジニアを目指していたわけではないのですが、工場内のネットワークに携わる機会があったのでCCNAの半分の資格であるCCENTを取得しました。
現在も資格取得勉強で得た知識は大いに活用しております。
CCNAに関しては こちらの記事を参考に資格や知識を習得することをお勧めします。
データベースエンジニアとは?
データベースエンジニアとはWebサイトやアプリケーションで利用するデータを保管するシステム、いわゆるデータを保管する箱を構築するエンジニアをさします。
Webサイトやアプリケーションからデータを入力して保管したり、その保管したデータを取り出し表示させたりするSQLといった言語も学ぶ必要があります。
大規模なシステムでは専用にデータベースエンジニアがいる場合もありますが、大体はWebエンジニアのバックエンドエンジニアが兼任したり、アプリケーションを構築するエンジニアが兼任しております。
主に以下のデータベースが利用されております。
- Oracle
- Microsoft SQL server
- MYSQL
- SQLite
種類は違いますが、こちらも基本的な機能は同じなので、いずれかを学ぶと良いかと思います。
Webシステムを自ら構築したいあなたはこちらの記事でデータベースも一緒に、学べるスクールを紹介しておりますので、参考にして下さい。
対応する資格にはオラクルマスターという資格がありますので、オラクルマスターにチャレンジするのも良いでしょう。
私自身もオラクルマスターを取得して、Webシステム開発時や社内システム運用時のトラブルシューティング等に役に立ちました。
Webエンジニアとは?
WebエンジニアとはWebサイトやWebアプリケーションを開発するエンジニアのことをさします。
今回カテゴリでWebシステムではないアプリケーションを開発するエンジニアやプログラマは記載しなかったですが、実際は少し違いますが今回はこちらのカテゴリとします。
Webシステムやアプリケーションを開発するには画面上の見た目や動きを開発するフロントエンドエンジニアと実際の画面からプログラミング言語を使用してデータを保管するデータベースからデータを出し入れする仕組みを構築するバックエンドエンジニアがいます。
それぞれを解説します。
フロントエンドエンジニアとは?
ホームページやWebサイトを作成には、HTMLやCSSといった言語を利用します。
Webページを表示させるための言語がHTMLでページにデザインをつけるための言語がCSSになります。
プラスでJavaScriptというWebページに動きをつけることができる言語を利用します。
またノンプログラミングでサイトを作成するワードプレスというソフトを利用することもあります。
未経験からワードプレスはこちらの記事から、HTML・CSS・JavaScriptはこちらの記事から学習方法を記載しておりますので、ご確認ください。
バックエンドエンジニアとは?
PHPやPythonという言語を通じてデータベース(MYSQL等)とデータのやり取りを行います。
また上記言語を扱いやすくするフレームワークも覚える必要があったりします。
PHPやPythonでプログラムを記述する仕事を単にプログラマーと呼んだりもします。
先ほどのフロントエンドエンジニアとバックエンドエンジニアの技術があれば事実上Webシステムやアプリケーションを一人で開発することが可能となります。
Webシステムを自ら一人で構築したいあなたはこちらの記事のスクールでオールインワンで学ぶことが出来るのでお勧めです。
AIエンジニアとは?
AIエンジニアとは、機械学習、ディープラーニングといった技術を利用し企業の問題を解決したり、自動化等の新たなサービスを展開するためにシステムを開発するエンジニアのことです。
お掃除ロボット、自動運転技術、AI家電等最近ではAIが活用されているサービスがありますが、企業でもAI活用が進んでおり、以下のようなシステム開発を行います。
- 製造業での不具合検知
- 医療分野で画像診断
- 販売系では需要予測
- 自動受け答えを行うチャットボット
- 画像から文字認識
上記以外でも最近はAI活用があらゆる企業でも進んできておりますが、現在はAIエンジニアが不足しているので今この分野を学習することをもっともお勧めします。
私もAI関係のシステムを現在開発したりしていており、私のような文系の数学が苦手な人でもAIエンジニアは目指せすことは十分に可能です。
学習方法等具体的な内容はこちらの記事でご確認ください。
セキュリティエンジニアとは?
セキュリティエンジニアとは企業のシステムや情報資産を守るシステムを構築するエンジニアのことです。
私はあらゆるエンジニアの中でセキュリティエンジニアが最高峰だと思っております。
セキュリティエンジニアはホワイトハッカーと呼ばれることもあります。
なぜ最高峰かというとITエンジニアが知りうる知識すべてを理解していなければ本物のセキュリティエンジニアになることは難しいと考えているからです。
サーバやネットワークを守るためにはインフラ系の知識も必要ですし、プログラミングのバク等があればそこからハッカーに狙われることもあるので、プログラミングの知識も必要です。
また最近ではAIで自動的にシステムを守りような仕組みを構築したりもします。
主に企業のファイヤーフォール等のセキュリティの仕組みを構築したり、不正侵入検知し対策したりと内容はかなり専門的になります。
私自身もこの分野に興味があるのですが、未だに経験未知の分野です。
まとめ
少し長くなりましたがシステムエンジニアの種類を説明しました。
ITエンジニアになった以上最終的にはシステムエンジニアとして何かの構築や開発に携われるようになって自分でシステムを作る喜びや達成感を感じてほしいと思います。
あきらめずに自分にあったシステムエンジニアの分野を模索してもらえればと思います。
もし未経験でITエンジニアに転職したいが分野を絞り切れないあなたはこちらの記事のスクールを参考にしてみてください。
コメント
[…] AIエンジニアやクラウドエンジニアなどのエンジニアの種類についてはこちらの記事で大枠を説明しており、こちらの記事でシステムエンジニアの詳細を説明しております。 […]