インフラエンジニア

プログラマと比較して感じるインフラエンジニアのデメリット

メリット デメリット

プログラマも、インフラエンジニアも、大きなくくりとしては「ITエンジニア」なのですが、実際の性質はだいぶ違います。

プログラマを「軽」とするならインフラエンジニアは「重」

プログラマを「動」とするならインフラエンジニアは「静」

漢字一文字で表現すると、こんなイメージ。

今回は、アプリケーションソフトが動作する土台を構築するネットワーク/サーバ/インフラエンジニアと、アプリケーションを作るプログラマを比較して、

「ここがツライよインフラエンジニア」というお話しをしてみたいと思います。

インフラエンジニアは、自学自習が圧倒的に難しい

私の体験上「プログラマはいいなぁ」と何度も思う一番の理由はこれです。とにかく、技術力をもっと身に着けたい!と思い立ったときの物理的な壁があまりに大きいのです。

エンジニアが技術力を身に付けたい、と思った時に可能な自学自習方法は、2つあります。

1つは、知識的学習。ネット上の記事や書籍を読んで学習し、知識を身に着ける方法です。インプットすることですね。

2つ目は、実機学習。得た知識をもとに、自分で何かを作り上げる方法です。アウトプットです。

実は、インフラエンジニアは2つめの実機学習のハードルがとてもとても高いのです。

なぜなら、PC以外にネットワーク機器やケーブル、サーバなど、物理的なハードウェアが手元に必要だからです。

プログラミングの実践学習には、パソコンさえあれば他に物理的な制約は一切ありません

この「物理的にモノが必要」とはつまりどういうことかというと。。。

お金がかかる(5万10万じゃ足りないレベル)

プログラムを実際に自分で組むには、初期費用は一切必要ありません。タダです。
一方、ネットワークやサーバを自分で組むには、まず様々な機材の購入が必要になります。

ルーター、スイッチ、ファイアウォールと呼ばれるネットワーク機器を複数
機器間をつなぐケーブルを複数
サーバ(ハードディスクやメモリ、CPUが詰まった箱)を必要なだけ
※構成によってはハードディスク/CPU/メモリの増強が必要

ルーターサーバ

これらをそろえるだけで、10万20万は余裕でかかります。

ネットワーク機器は、中古1台でも高価です。しかも、ネットワーク機器は複数つなぎ合わせて機能するものなので、2台3台と必要になります。新卒や既卒フリーターから働き始めた若者にはなかなか手が出ません。

準備に時間がかかる

「ちょっと実際にコードを書いて勉強してみようか」と思い立ってから5分後には実際に書き始められます。

pythonという言語を学習したことがありますが、python開発環境をpythonのwebサイトから ダウンロード、インストールするだけで即コードを書き始めることができます。

一方、「ちょっとネットワークを組んで勉強してみようか」と思い立った場合、「どうやって環境を準備するか」というド最初の一歩から悩むことになります。

中古で購入するか、一番安いのはどこか、会社で余っている機器を譲ってくれないか、、、などなど。

仮に、購入したとしても、すべての機材の到着を待たないといけないし、到着したとしても、それを部屋に設置しないといけないし、中古だと動くか確認しなきゃいけないし、、、

やっと1週間かけて機材が揃ったころには、なんだかもう面倒になってしまいそのまま放置、ということも。

デカい、重い、うるさい

普段、家でインターネットに接続するためにおいてある「モデム」のような家庭用機器しか目にしない人には想像も出来ないかもしれませんが、 企業用に使用するネットワーク機器は、基本デカくて重いです。

しかも、電源を入れた途端に「・・・シュイィィィィィィィィン」と冷却ファンが回る音が部屋を満たします。うるさい機器は、本当に騒音と呼べるほどうるさいです。 もちろん、小さめで騒音も少ない機器もありますけど。

成果が目に見えづらく、地味=モチベーションを保つのが難しい

例えば、ゲームアプリを完成させたとします。そのゲームアプリはプレイをすると、書いたコードの結果が実際に目で見て「動きとして」確認できますよね。

自分の書いたコードに従って、画面上のキャラが動く喋る戦う遊んでくれる人は、そのゲームをさぞ楽しんでくれるでしょう。

上手くできていれば(たとえ下手くそな出来だとしても)、作品をネット上で公開したり、アプリストアで販売しお金を稼ぐ、なんてことも出来るかもしれません。

では例えば、ネットワークを構築した場合はどうなるでしょうか。

あなたが2台のネットワーク機器で手元にある2台のPCをつなぐネットワークを完成させたとします。 その結果、あなたがネットワーク機器をいくら眺めてみても、何か動きのあるものがあるかというと、何もありません。

いくら見てもピクリともしません。冷たい金属の塊がそこにあるだけです。 要れた設定に従って、ネットワーク機器たちが喋ったり踊ったりするわけではないのです。

よくあるのが、自宅でやるにしては高度な技術を取り入れた構成のネットワークを組み終わって、やっとパソコンAからパソコンBにファイルが転送出来るようになった!

となった直後に訪れる、「・・・で?」という感情。ネットワークなんて「繋がって当たり前」なんですよね。

しかもその「作品」を公開することも売ることも不可能。

設定を削除して、電源落としてケーブル引っこ抜いて片付けて終わり。

これがですね、相当地味で華がないのです。設定は何十行何百行と投入した、でも見た感じ何も動いていない、というのは相当。

作ってみて、動いた!という感動が、圧倒的に少ないのです。

まとめ

様々な物理機材をそろえないとアウトプット実践型の学習が出来ないこと、たとえそろえても目に見える動きがない「静的」な学習になるので、何かを作りあげている感動が少ないこと。

ネットワーク/サーバ/インフラエンジニアをやっていて誰もが一度は考える「デメリット」だと思います。

【完全無料】未経験でもプログラマになれる
未経験でもプログラマーになれる

アプリを作ってみたい。
もう夜勤なんて嫌。将来が不安だ。

既卒、ニートで就活の始め方が分からない。

GEEK JOBなら、無料で、すぐに悩みが解決。

≫ 公式サイトを見てみる