“生活インフラ”という言葉をよく耳にしますよね。水道や電気、ガス、場合によってはさらに道路網や公共交通機関を指します。このことから分かる通り、インフラとは基本的な土台を指す言葉です。ITの世界にも基本となる土台があり、それらを構築する技術者のことをインフラエンジニアと呼んでいます。
インフラエンジニアの需要は、ITシステムを導入する企業の増加により年々高まり、案件が多いことからより多くの人材が必要で、インフラエンジニアの求人募集も増加傾向にあります。
今回はそんなインフラエンジニアとシステムエンジニア、それぞれの仕事内容を解説しましょう。
▼目次
IT環境の基礎を作るインフラエンジニア
インフラエンジニアの仕事は、それらの作業の土台を作るための設計とその構築です。さらに仕事内容からネットワークエンジニアとサーバーエンジニアの2つに大別することができます。
ネットワーク環境を構築する仕事「ネットワークエンジニア」
ではネットワークエンジニアの“ネットワーク”とは何を指すのでしょうか。1つは大きな企業や大学などの組織のパソコン同士をつなぐいわば閉じたネットワークの構築です。
1部屋ないしは数部屋で仕事をするような規模の事務所ならば、お互いの意思疎通やデータのやり取りは直接の会話やUSBメモリなどの記憶媒体でも済むかもしれません。ですが高層ビル丸ごと、あるいは数フロアに部署が分かれていたり、広大な敷地を持つ工場であったりする場合、意思疎通やデータのやり取りは社内メールやチャットツールで行う方が効率的なのは言うまでもないでしょう。
また全国あるいはワールドワイドで展開する組織ならば、インターネットを利用したメールや添付ファイルのやり取りが必要になるので、そのためのネットワーク環境を整備する必要があります。それらの環境を設計して構築し、運用・保守するのがネットワークエンジニアです。
インターネットサーバーが業務の舞台「サーバーエンジニア」
サーバーエンジニアはパソコンをインターネットに接続するサーバーと呼ばれるコンピュータに関する知識とスキルを持ち、インターネット接続環境を担う仕事をするエンジニアのこと。
サーバーの機種選定や使用するOS(Operating System)と呼ばれるコンピュータを駆動させる基本ソフトのWindowsやMac OS、Linux、UNIXなどに関する広範で深い知識が必要になってきます。インターネット接続の環境を整えるわけですから、セキュリティに関する知識とスキルも欠かすことが出来ません。
インフラエンジニアに求められるスキル
インフラエンジニアは以上のように2つに大別されますが、共通するスキルもあります。当然ですがまずコンピュータをはじめとしたIT機器に関する広い知識。パソコンだけでなくミドルウエアと呼ばれるサーバーや、社内ネットワークの構築に必要なLANや安全を担保したインターネット接続環境の構築などについて、深く理解していないと顧客の望むITインフラを実現することは出来ないからです。
また、最近は“クラウド”が主流になりつつあります。クラウドとは「雲」を表す英語ですが、IT業界ではもちろん違う意味。ワープロソフトや表計算ソフトなどのアプリケーション、開発環境、インフラ機能などをコンピュータにインストールするのではなく、インターネットに接続してそれらを使用することを指します。インフラエンジニアにはクラウドに関する知識とスキルも今や欠かせません。
ところでインフラエンジニアには医師免許のような国家資格は必要ありません。極端に言えば「インフラエンジニア」ですと言えば“自称”インフラエンジニアを名乗ることは自由です。ですが業務をこなすためには一定のスキルが必須であり、就職活動を行う上でそのスキルを証明できれば強みとなるでしょう。
そこでお勧めなのが、以下のように業界で認められた認定資格を持つことです。
- Linux技術者認定
サーバー構築で必要となるLinuxとネットワークに関するスキルを証明する資格です。最も難易度の低いレベル1から非常に高い知識が要求されるレベル3までに分かれています。 - シスコ技術者認定CCNA
ネットワークに関する知識や実践的なITインフラのスキルを証明する資格。「エントリー」「アソシエイト」「プロフェッショナル」「エキスパート」「アーキテクト」の5つに分かれています。 - 基本情報技術者試験
国家資格なので権威があるといえるかもしれません。インフラに関するだけではなく情報処理技術者にとって必須といえる知識を問われる資格ですが、出題範囲の中にはネットワークやサーバーに関する知識も含まれています。
業務系システムを構築するシステムエンジニア
よく言われるようにコンピュータはアプリケーションがインストールされていなければただの“箱”にしかすぎません。ただアプリケーションがインストールされているといっても、業務に全く必要のないものが入っていては意味がありませんし、コンピュータのメモリを無駄遣いするだけで負荷になるだけです。
そこで、顧客がどういう業務を自動化したいのかをヒアリングして、効率よくプログラムを組み合わせてより理想的な自動化をコンピュータで実現するための統合的な仕組みを設計して構築するのがシステムエンジニア(SE)という仕事です。
システム構築の一般的な流れ
システムを構築するまでの一般的な流れを、順を追って説明します。
- 要件定義
顧客からヒアリングを行い、どういう課題がありそれを解決する機能をコンピュータにどう構築するのかを検討します。顧客の要求を的確に汲み取らないと“ずれたシステム”になってしまうので、最も重要かつ慎重さが要求される部分といえるでしょう。 - 基本設計
要件定義を基にシステムの全体図を設計する段階です。どういう項目が必要か、また現場で使いやすいマン・マシン・インターフェイスを決定する段階です。 - 詳細設計
基本設計に基づき実際の処理内容を考え、さらにそれらをどういう手順で組み合わせていけばいいかを決定して処理に必要なプログラムをプログラマーに発注します。 - 最終テスト
プログラムをくみ上げて全体のシステムを構築したら、実際に走らせて不具合がない確認。もし不具合があればどこに原因があるのかを追求してそれを修正していきます。プログラミングそのものに問題がある場合と、プロフグラムの結合に支障がある場合があるので、不具合の発生を見て、何処に障害が発生しているのかを予想できるスキルも要求です。
システムエンジニアに求められるスキル
SEは全体のシステムを構築するわけですから極端に言うとプログラムを読むことが出来れば書けなくても問題がないといえるかもしれません。雑誌やムックを考えると分かりやすいでしょう。
編集者は大きなテーマと構成を考えて、実際の文章はその雑誌やムックのテーマと狙いを伝えライターに発注。それを読んでチェックして問題があれば修正させれば雑誌やムックは完成します。
しかし人手が足りない場合もありますし、最も重要な部分は企画を立てた編集者が文章を書いた方がいいケースもあるでしょうし、文章力があればライターの書いた文章を部分的にリライトしてより完成度の高いものにすることもできます。
それと同じでSEも自分で一部のプログラムを担当できしたり、場合によってはプログラマーが書いたプログラムに修正できたりする方がより使いやすく効率的なシステムを構築できるでしょう。ですからSEもプログラムを書けたほうが良いと言えます。
またSEにはITに関するスキルや知識だけではく、顧客からどんなシステムを必要としているのかを引き出すコミュニケーション能力、その業界に関する知識、PG多数にプログラムを発注してその進行管理を行うプロジェクトマネージャーとしての能力も求められるケースもあります。エンジニアであると共に管理職でもあるわけです。
まとめ
以上、インフラエンジニアとシステムエンジニアの仕事について説明させていただきました。2つの職種の仕事内容の違いをふまえることで、おのずと双方の職種の違いも見えてくるのではないでしょうか。ITエンジニアを目指すのならば、自分の特性を考えてインフラエンジニア、システムエンジニアのどちらが向いているかをじっくり考えて選択してください。