みなさんこんにちは!
IT業界は、開発エンジニア、インフラエンジニアのどちらも大事ですね。
最近はクラウドの発達によって開発エンジニアもインフラ領域に入ったりしてますが、やはり餅は餅屋。
インフラエンジニアの専門知識は凄いです。
私も一時期インフラエンジニアだったので、開発エンジニアとの比較も交えて、ご紹介したいと思います。(私の主観です)
インフラエンジニアあるある
サーバーが動くのが当たり前だと思われている
みなさんが使うサービスは、全てサーバーで動いています。クラウドも裏はサーバーです。
このQiitaもそうですが、普通に使えますよね?全然アクセスできない、なんてことは滅多に起こりませんね。
でもこれは、普通ではないんです。
今ではある程度自動制御になっている部分もありますが、サーバーは不死身ではありません。なんらかのトリガーにより不具合が発生したり、落ちたりします。
通常は冗長化構成になっていてダウンタイムを最小限に抑えてますが、何かあれば、インフラエンジニアが動きます。被害を最小限にするために、昼夜問わず対応します。
いつも快適にサービスを使えていたら、褒めてあげてください。
夜勤が多い
内容にもよりますが、サーバーのメンテナンスは、夜間が多いです。
何かあったときに、被害を最小限にするため、利用者が一番少ない曜日や時間帯で作業します。
日勤の作業と夜勤の作業を比較すると、夜勤のヒューマンエラーは圧倒的に多いです。
判断力が1/3くらいに低下しているため、昼間だったら絶対にミスしない作業でも、なぜかミスをすることがあります。昼間にたっぷり寝ても、あまり変わりません。
そのため、手順書をこれでもかと言わんばかりに丁寧に書きます。
それでもリスクがあるので、シェルで徹底的に注意事項を表示して、「y」とか「yes」ではなく、わざわざ面倒な「Yes」を入力しないと先に進めないようにしたりします。
体育会系が多い
職業柄か、開発エンジニアよりも体育会系の方が多い印象です。
規律に厳しく、競争心が激しく、向上心が高いです。
例えば私も、ログから何かを集計する作業において、いかにワンライナーかつ短時間で集計できるか、というのを先輩方と競っていたりしました。
しかしそのおかげで、スキルアップのスピードが速く、チームワークは素晴らしいものがあります。
冷静に分析する人が多い
サーバーで何か発生すると、すべて発生している事象から判断します。
ストレージの使用量、CPUやメモリの使用率、システムログなど、限られた情報から判断します。
そのため、熱いものを持っている反面、冷静に分析する人が多いです。
まとめ
今回は過去の経験から、簡単にインフラエンジニアの紹介をしました。
開発エンジニアとインフラエンジニアは、全くタイプが違います。
それぞれ別の視点を持っているので、どちらも経験した方が、他のエンジニアとの差別化を図れるかもしれませんね。
何かに特化するのもいいですが、興味があれば、色んな分野を経験して、様々な視点や知識を身につけてみてはいかがでしょうか。
私もまだまだこれからなので、みなさん一緒にがんばりましょう!