インフラエンジニアとプログラマの決定的な違い4つ

これからシステムエンジニア(SE)として働いていく方やIT業界への就職を考えている方、または既にプログラマやインフラエンジニアとして働いている方は、分野の違うエンジニアのメリットとデメリットについてどの程度知っているでしょうか。

プログラマとインフラエンジニアというのは同じシステムエンジニアとして括りが一緒でも、仕事の実態は結構異なります。

個人的な経験則や価値観でしかないのですがその違いについて書いていきたいと思います。

基本的にこの二つの職種があってシステムがなりたちますが、考え方については結構差があると思います。

働き方もそうですし、仕事の内容自体が似ても似つかない事もあります。

人によってそれぞれ向き不向きもありますし、どちらが自分にあっているかも全然違います。

そこで個人的に感じている決定的な違いを4つ上げていきたいと思います。

スポンサーリンク

働き方の差

インフラエンジニアは移動が多い

プログラマと比べてインフラエンジニアは移動が多いです。

理由は単純な話で、インフラエンジニアはハードウェアを扱うので、物理的な作業である機器の設置や結線、交換作業があるためです。

また遠隔で作業が出来ない事も現地に赴く必要があります。

しかし、プログラマは遠隔で作業できるようになってからが仕事です。

インフラエンジニアは言わば建築の中で家を建てるまでが仕事です。

アプリケーションを開発するプログラマはその中に冷蔵庫や電子レンジやお風呂などを作っていくイメージです。

家があって初めてモノを作れるので、土台がなければ作っても意味がないです。

家さえできれば、他の場所で作って搬送すれば良いだけです。

プログラマも出張はありますが、インフラエンジニアの方が絶対的に多いです。

データセンターに行くのは当然のごとくありますし、逆にプログラマが現地の機器を確認しに行ったり設置に携わることは少ないです。

出張や移動が好きでない人はプログラマの方が安定して働けると言えます。

休日出勤や夜間対応もインフラエンジニアの方が多い

インフラエンジニアをしている場合も、プログラマでもどうしてもシステムを停止しないと出来ない作業がありますが、インフラエンジニアの方が多いと言えます。

先ほど述べたようにハードウェアを扱う以上、故障などが休日夜間に発生する事もあります。

休日出勤や夜間対応あっても、代休など取得できる会社も多いのでそこまで嫌なイメージを持つ必要はないと思います。

プログラマもシステムのメンテナンスやリプレース、サービスインをする際は夜間作業になったりすので絶対ないわけではないです。

あくまでの頻度や携わる可能性で言えばインフラエンジニアの方が圧倒的に多いと言えます。

例えば、インターネットのゲートウェイになっているルータのリプレースをする際は、冗長構成を取っていてもリプレース後にトラブルがあるとインターネットアクセスが停止してしまいます。

基本的にインターネットアクセスは業務に欠かせないので停止することは原則許されないのが一般的です。

つまり、何らかのトラブルに見舞われても影響が少ない時間帯に実施するべきと判断します。

そうすると夜間・休日の作業が増えます。

プログラマの場合、システムのサービスレベルによっては日中帯だけしかサポートしなくても良いので、扱うシステムに依存しますが夜間対応などが少ない職場も多いです。

単純にコーディングだけを請け負っているプログラマであれば納期が逼迫しない限り徹夜などもないでしょう。

スポンサーリンク

考え方の違い

0から作るか1を10にするか

プログラマは基本的に自社開発であれば0からアプリケーションや製品を開発していきます。

プログラミング言語を書いたり、スクリプトを作成できるエンジニアであれば分かりますが、こういったコーディングは人によって異なります。

一行ずつファイルを読み込むにしても、Forでも出来ますしWhileでも出来ます。

プログラムは同じ処理をするのに人それぞれの書き方が存在します。

ではインフラエンジニアというのはどういった仕事かというと、ハードウェアやBIOS・ファームウェアのように製品ベンダを作り上げたソフトウェアの仕様を理解して設定値を選定していきます。

つまり、仕様があった上で適切な設定を施す仕事と言えます。

厳密にいうとプログラミン言語もルールが存在しているのでそのルールを守らないとアプリケーションとして動作しません。

しかし、インフラエンジニアの仕事では、基本的にサーバOSやネットワーク機器は電源を入れれば動きます。

基本的には何もしなくても動くものを適切な設定を施してシステムに最適な状態にすることがインフラエンジニアの務めです。

インフラとアプリの考え方の最大の違いは、アプリは基盤やDNSがあれば十分に動くので必要最低限の知識で開発が出来ますが、インフラエンジニアは全体を考慮する必要があります。

特にロードバランサなどは注意が必要です。

一方でプログラマはロードバランサの動きなどを意識することはないと思います。

なので表現するとしたらプログラマの仕事は0から10であったり1000であったり、要件に応じて目標値が変化する仕事ですが、インフラエンジニアは既に1があり、それを如何に10や100まで拡張するかが仕事です。

お互いの知識は活きるのか

先ほどは0から物作りをするプログラマと1から数字を大きくして行くのが仕事であるのがインフラエンジニアであることを書きました。

ではそれぞれの知識は活きるのでしょうか。

インフラからアプリケーション開発は全然活きないと思います。

仕事ができる出来ないに関しては、やる気があればもちろん大丈夫とは思います。

しかしながら、プログラムを書き続けることが仕事であるプログラマの業務と設定値を定めるインフラエンジニアの仕事内容は全然違います。

スクリプトを書いている人であってもIDEの使い方もわからなければ、オブジェクトやメソッドも0から覚えるのは簡単ではないと思います。

活きるとしたら、システム設計においてアプリケーションサーバ等の物理構成と論理構成でしょうが、そもそもその領域はインフラエンジニアの仕事に近いです。

逆にプログラマからインフラエンジニアは知識が活きます。

不平等な話ではありますが、現実として昨今のITインフラはアプリケーションで管理していく流れに推移しています。

Ansibleを代表にインフラの運用管理ソフトウェアが続々と世に出ていますが、いずれもRubyなどの言語で定義しています。

インフラエンジニアでも一定数RubyやPythonを扱える技術者はいます。

しかし、新しいプログラムを学習しなければいけない場合に、学習スピードやコーディングのコツはプログラマ経験者の方が有利です。

プログラマの人がインフラの業務に携わる時、それはそれで大変です。

しかし、設定値を定めるという言い方をしたように仕様を把握して業務を行うのがインフラエンジニアなので自らの設定でバグが見つかったりすることはなく基本的に製品ベンダーの責任です。

プログラマに慣れるのとインフラエンジニアに慣れるので比較すると、私個人の感覚ではプログラマの仕事に馴染む方が難しいと思います。

最後に

インフラエンジニアとプログラマの違いについて書いてきました。

経験上でしかないですが、プログラマからインフラエンジニアになった人はたくさん知っていますが、逆はほとんど聞いたことがありません。

知っている限りだと、プログラマがやりたくてソフトウェア開発会社へ転職した人はいますが、社内や案件ベースでシフトした人はほとんど見たことがありません。

個人的にはやはりデータベースを扱えると両方で仕事が出来る可能性が高くなります。

もしキャリアチェンジしたい人は、インフラでもプログラマでも活きるミドルウェアの知識を養っておくことをお勧めします。

スポンサーリンク

フォローする

合わせて読んでみる

良ければ他の記事もどうぞ!



スポンサーリンク
コメントの入力は終了しました。