世の中の世間的なイメージでエンジニアと言えばプログラミングでアプリを作るイメージが先行していて、インフラエンジニアというのは影に隠れているように見えます。
そんな中でもたまに聞かれるのが
「未経験からインフラエンジニアになるにはどうしたらいいですか?」
との質問。
今回はIT業界でインフラ分野に10年以上関わった経験を持つ筆者が
今からインフラエンジニアを未経験から目指す人向けに、
学んでおくといいおすすめの分野とアピール方法について紹介したいと思います。
インフラエンジニアは大きく分けると2通りの分野に分かれる
一言にインフラエンジニアと言っても様々な仕事があります。
その中でも特に大きなくくりとして分けられるのが
サーバーエンジニアとネットワークエンジニアです。
サーバーエンジニアは文字通りサーバー構築を主体としたシステム基盤の構築を行い、
アプリケーションを搭載する器を作る仕事です。
ネットワークエンジニアは企業内や企業間のネットワーク網を作る仕事。
こちらはスイッチやルーター、ファイアーウォール機器などを使ってネットワークを構築していきます。
どちらもシステムを作る上では外すことができない仕事ですが、インフラエンジニアと言われるとどちらかと言うとサーバー構築をメインとしたエンジニアの事を指す事が多いのがIT業界の常です。
仕事の求人でもスイッチやルーター、ファイアーウォールなどのネットワーク機器に触れる仕事はネットワークエンジニアと呼ばれるのに対してインフラエンジニアというとWindowsやAIX、LinuxなどのOSまわりの用語を軸にサーバー構築を行う仕事が書かれる事が多く掲載されています。
よって本記事ではサーバーエンジニアを取り上げて話していこうと思います。
インフラエンジニアに求められるスキルとは?
インフラエンジニアにはサーバー構築やアプリ基盤となる環境の設定、通信回りの設定を行い
アプリケーションが動作する基盤を構築する能力
が求められます。
またアプリケーションのようにひたすらPGを行う部隊と言うよりも
上流工程から下流工程までトータルでこなせる能力
を持っている人が重宝される傾向にあります。
上流工程ではシステムの企画にあわせて導入する機器を決めたり、立地や設置場所、方法を決定したりと
サーバーを物理的にくみ上げるまでの作業工程や導入方法
から検討がはじまります。
もちろん同時並行で方式設計を行ったり、詳細設計を行う必要がある為、設計範囲として必要な知識は多岐にわたるのが特徴です。
下流工程ではサーバーの物理的な導入と立ち上げからはじまり、OSやミドルウェアの導入、アプリケーション基盤として必要な設定を入れていく作業が入ります。
その後はテストフェーズに入っていき、アプリ部隊と役割分担を行いながら進めていきます。
PGやテストフェーズではサーバー内の設定だけでなくネットワーク通信に関する知識や障害対応の手法、パフォーマンス取得や解析といった知識も必要となってきます。
特にインフラのトラブルというのは
OSが停止した
アプリが起動しない
と言ったシステム全体に関わるトラブルが多いので迅速なトラブル対処能力が求められるというのも特徴です。
正直、トラブル時に呼ばれるエンジニアというのはお客からも重宝されていますし、必要とされている能力を一定持っているエンジニアと言えますので、トラブル時に呼ばれるエンジニアになるのは一つの目安と言えます。
その分、求められる能力が実に多岐にわたるため、どこから勉強してスキルアップしていけばいいんだ?
と思っている人も多数いるようです。
そういった方は、これからインフラエンジニアを目指すなら絶対に最初に覚えておいた方がいい分野が存在しているのでその分野から学んでいきましょう。
インフラエンジニアを未経験から目指すならUNIXを覚えよう
未経験からインフラエンジニアを目指す際に絶対に覚えておいた方がいい分野というのが
UNIXの機能や動作、構築方法を覚える
という事。
UNIXというのはOSの一種で
UNIX系と呼ばれるOSにはIBMが開発したAIX、HPが開発したHP-UX、Oracle(旧サンマイクロシステムズ)が開発したSolaris、そして現在最も時流にのっているLinuxといったものがあります。
この中でも特に覚えるのにおすすめなのはやはり時流にのっているLinuxと呼ばれるOSです。
Linuxをおすすめする3つの理由
UNIXの中でも特にLinuxを押すには3つの理由があります。
1つ目はLinuxから派生したOSにはAndroid OSも含まれており、世間的にも最も多く普及しているOSとも言える事。
現在ほとんどの企業がUNIX系統と言うとLinuxを採用する傾向にあり、開発も盛んに行われているOSなのです。
Oracle DBで有名なOracle社はOracle SolarisというOSを開発していますが、Oracle DBがバージョンアップする際はLinux版を優先して開発しています。
AndroidやiPhoneのiOSなんかもLinuxから派生したOSという事を考えると注目度が高いという事も頷けます。
2つ目は各企業でLinuxへ移行するプロジェクトが年々増加している事。
近年はWindowsからLinuxへ移行したりAIXやSolarisからLinuxへ移行したりと多くの移行プロジェクトが立ち上がっています。
新規に採用するOSとしても企業内ではLinuxが必ず候補に上がってきます。
その理由としてはAIXやSolarisを動かすEnterpriseサーバと比較するとかなり安価な導入費用とランニングコストで済む上に、Windowsよりも高機能で汎用性の高い標準プロダクトが多く揃っているからです。
その他にもWindowsではリソースの使い方に無駄が多いのに比べ、Linuxはリソースを有効に使う事ができるなどメリットが多いので多くの企業が導入候補に入れています。
そして3つ目はLinuxをはじめとしたUNIX OSを触れる技術者がまだまだ少ない事。
Windowsはパソコンとして多く普及しているだけに慣れている人たちが多くいる中、
UNIX系統を触る事ができる技術者は少ない事が挙げられます。
この原因の一つに
WindowsはGUI(グラフィカルユーザーインターフェース)による画面操作が主体
である事に対して、
LinuxはCLI(コマンドラインインターフェース)を使った操作が主体
である事があげられます。
よって覚えようと思わなければ覚えれないですし、触る機会がなければ知らないのです。
システムへのログイン方法一つとっても手法が違う為、少し勉強するだけでも周囲との差がつきます。
また、近年はWindowsやAIXからLinuxへの移行が進んでいますので、Linuxを知っている事で優位に立つ事ができる案件が多いです。
UNIXの基礎を学んでいればLinuxにこだわる必要はないのですが、今から始めるならやっぱりLinuxをベースに学ぶと効率的だと言えます。
Linuxを学ぶと同時にネットワークやセキュリティ部分を重点的に
Linuxについて学ぶ際にはネットワークやセキュリティまわりをしっかりと覚えることがオススメです。
これはLinux OS上で動作するファイアーウォール(firewalld)とかアクセス制御(hosts.deny、hosts.allow)とか各ユーザが持つ役割とかをしっかりと理解しているエンジニアが意外に少ないからです。
OSのhostsを記載したり、基本的なインストールができるといったエンジニアは多いのですが、
アクセス元を制限したり、コマンド実行に関する制御を実装できるインフラエンジニアは意外に少ない
といった状況は今も昔も変わらないので、せっかく勉強するならしっかりと理解しておきたい部分です。
また、昨今の仮想通貨をはじめとしたセキュリティ事故の多さから、年々セキュリティに関する需要は高まっているのでねらい目でもあります。
きっちりとしたアクセス制限を設計、構築できるエンジニアは貴重ですので周囲より頭一つ抜きんでたエンジニアになれます。
Linuxの勉強方法
Linuxを勉強するにはいくつか本を購入して実際にLinuxを触るのがおすすめです。
現在はAWSやVMwareの環境を使う事によって簡単にLinuxサーバを使う事ができるので、それらを利用して自分のパソコンからアクセスする環境を作ってみると良いです。
その際に参考書としてAmazonやSEshopのようなショップでLinux関連のものをいくつかピックアップして購入すると良いです。
「Linux 初心者」
なんてキーワードで調べるとたくさんヒットしてきます。
その中で必ず1冊はコマンドリファレンス本を購入する事をおすすめします。
LinuxはCLIベースのOSなのでコマンドによる命令実行がメインです。
はじめのうちはコマンドがわからない事も多いと思いますので、Linuxコマンドを調べられる本を横に置いてコマンドを打ちながら勉強する事をおすすめします。
スクールを利用する
最近はプログラミングスクールの中にインフラを学ぶ為の講座が用意されているスクールもあるので、それらを使ってみるのも1つの手段です。
現在はインフラも知りつつアプリも作れるエンジニアが重宝される時代なので、スクールを使うのであればWebアプリの勉強をしつつインフラも教えてくれるスクールに通う事をおすすめします。
新型コロナウイルスの影響により、オンラインで受講できるスクールが増えているので自宅にいながら専門的な知識を得る事と、期限付きカリキュラムによる強制的なスキルアップがスクールを使うメリットなので自学自習ではなかなか難しいという人にはおすすめです。
以下ではオンライン受講が可能で無料体験を用意しているスクールをいくつか紹介します。
用途にあわせて無料体験や相談会に参加してみるとIT業界の雰囲気や勉強の仕方なども掴めると思うので、モチベーションアップの良い機会にもなると思います。
DMM WEBCAMP
補助金制度あり、転職保証制度あり、返金保証制度ありとあらゆる面で条件がいいオンラインスクールとして有名なのがDMM WEBCAMP
現在はローランドが宣伝していますが、まさにプロになるにはうってつけの環境を提供してくれるので本気でエンジニアとしての勉強をしたい人にはおすすめです。
GEEK JOB
せっかくスクールに通うなら転職までサポートしてくれるスクールの方が良いという人にとってありがたいのがGEEK JOB
プログラミングの勉強から転職まで一気にサポートしてくれる体制を整えているので、勉強しながら一気にIT業界での仕事まで手に入れたいという想いを持つ人にはおすすめのスクールです。
Linuxの勉強を活かしてアピールするには?
現在のIT業界は圧倒的な人手不足という事もあり、正直Linuxを勉強している事やスクールに通ったという実績があれば採用してくれる企業も存在します。
しかし、そんな中でも自分が望む会社に入れるかどうかは別問題の為、Linuxを勉強した実績を活かしてアピールする良い方法をお教えします。
それはLPICというLinuxの資格を取る事です。
LPICとネットで調べれば出てきますが履歴書にも書くことができる立派な資格ですし、Linuxの認定技術者として胸を張って言う事ができます。
IT業界は資格よりも実績が評価される傾向に昔からありますが、未経験者としては専門の資格を持っている事で勉強してきた事のアピールに説得力を持たす事ができますのでオススメですよ。
まとめ
未経験からインフラエンジニアを目指す為の方法についてまとめてみました。
まずはLinuxを覚えることが近道になりますので、教材やスクールなどで学んでみてはいかがでしょうか?
本当に実践的な部分は数をこなす事によって身についてきますので、まずは触ってみる所からはじめるのがおすすめです。
本記事がインフラエンジニアを未経験から目指す人にとって少しでも役に立てればと思いますし、本ページに書かれていない事でも気になる事があればお気軽にコメントください。
合わせて読みたい!!
エンジニアの中でもバリバリのプログラミングを組むわけではないインフラエンジニア。近年のエンジニア需要と人気に伴い、「インフラエンジニアってどんなキャリアを積むの?」と思っている人も多いですよね。中には一旦はインフラエンジニア[…]