こんにちは、元インフラエンジニアのRio(@Rio_reach)です。
インフラエンジアとしての経験が浅いと、プログラミングが自分のキャリアに役に立つのかどうか判断がつきませんよね。
役に立つなら勉強したいけど、無駄な勉強はしなくない…というのが本音ではないでしょうか?
そんなあなたに朗報です!!
大企業常駐のインフラエンジニアのプログラミングスキルは最低限でOKです!!
でも…本当にそうなのかな?って思いますよね?
本記事では、8年間インフラエンジニアだった私が、
- インフラエンジニアのプログラミングスキルが最低限でOKである理由
- どのようにプログラミングを学べば良いのか
を解説していきたいと思います。
プログラミングを今後学ぶべきか悩んでいる若手インフラエンジニアの方は参考になると思いますので、ぜひこのまま記事を読み進めてみて下さいね!
この記事を書いている私のスペック
そもそも、この記事を書いている私は何者なんだ!?と思う方もいらっしゃるかもしれませんので、少しだけ私のスペックを書いておきます。
- 中堅SIerの元インフラエンジニアで8年勤務
- 航空会社、銀行、大手携帯キャリアといった大企業のインフラ構築プロジェクトを経験
- 勤務地は東京近辺
- ほとんどが二次請け、下流工程が中心
- 保有資格:国家資格では、応用情報技術者、セキュリティスペシャリスト、民間資格ではLPICレベル1、MCP WindowsServer2008
インフラエンジニアのプログラミングスキルが最低限でOKである理由
理由は以下の3点です。
- プログラミング業務の割合が少ない
- プログラミングをするとしても、シェルスクリプトなど簡単な言語が中心
- プログラミングスキルが高くても年収が上がりにくい
※大企業常駐型のインフラエンジニアの場合
順に解説していきます。
プログラミング業務の割合が少ない
そもそもインフラエンジニアの仕事には、
- サーバー構築
- 運用・保守
の2通りあります。
まず、運用・保守の場合はほとんどプログラミングを使用しません。
これは、運用・保守の場合はサーバーの分析やエラーの調査、マニュアルを前提としたシステム操作が中心になるためです。
一方、サーバー構築の仕事の場合はプログラミングをする機会もあります。
しかし、その仕事のうち、プログラミング業務は少ないです。
- システムの説明書・設計書・手順書・仕様書といったドキュメントの作成
- OSやソフトウェアのインストール
- サーバーの設定
- 機能テスト
- プログラミング(シェルスクリプト作成など)
上記の仕事のうち、一番大変なのはやはりドキュメントの作成でして、ここに多くの時間と人員が投入されます。
そして、業務はさらに複数人で分割されるため、結局プログラミングを行う時間は1年のうち1週間くらい…ととても短いです。
プログラミングをするとしても、シェルスクリプトなど単純な言語が中心
では、インフラエンジニアがプログラミングをする場合、どんなプログラミングを書くのかと言うと、シェルスクリプトと呼ばれる単純なプログラミングが中心です。
要はサーバーに実行させるコマンドをまとめたファイルです。
Unix/Linux系ではシェルスクリプトと呼びますが、Windwos系だとバッチファイル、メインフレーム系だとJCLと呼ばれたりもします。
ごく稀に、perlやphpといったプログラミング言語を使うこともありますが、本当に稀です。
プログラミングスキルが高くても年収が上がりにくい
プログラミングスキルを上げて、かつ年収を上げたいと言う人には悲報ですが、大企業常駐型のインフラエンジニアの場合、正直、プログラミングスキルが高くても年収が上がりにくいです。
チームメンバーとして頼りにされやすいことは確かですが、それが社内の評価、ひいては年収につながるかと言うと…正直、マネジメント職(プロジェクトマネージャー)や営業職の方が年収が高くなりやすいです。
もともと、インフラエンジニアは安定志向の方に向いているエンジニアです。
ちょっと余談になりますが、
プログラミングスキルを上げて、かつ年収を上げたい場合は、
- セキュリティスペシャリトといった国家資格を取得して社内評価を上げる
- 受託開発が中心の企業ではなく、技術を開発するようなオラクル、Amazon、Googleといったベンダーへの転職を目指す
- ベンチャー企業に就職し、企業とともに自分も成長していく(年収を上げていく)
- フリーランスに転向する
といった道を選んだ方がいいかもしれません。
インフラエンジニアに必要なプログラミングスキルは1ヶ月で習得可能
と思ったあなた!
ごもっともです笑
しかし…感情論になってしまいますが、なんだかんだでプログラミングって楽しいです笑
それにいざという時にプログラミングが使えると、業務を改善でき、作業効率を上げることができます。
何より、インフラエンジニアに必要なプログラミングスキルは最低限で良いので、人によっては8時間くらい学習すれば習得できてしまいます。
インフラエンジニアに必要なプログラミングスキルの学び方
ここからは、大企業のインフラエンジニアに必要な最低限のプログラミングスキルの学び方について解説していきます。
もっとも時間と費用がかからない学習手順は以下の通りです。
- プログラミングの基礎となるコマンドを業務内に覚える
- 本や動画で学習する
プログラミングの基礎となるコマンドを業務内に覚える
前項にて、
と解説させていただきました。
つまり、シェルスクリプトを書くには、コマンドの知識を持っておく必要があります。
が…わざわざ学習しなくても、コマンドは業務内で嫌でも覚えます。
インフラエンジニアの場合、サーバーのコマンドをミスすることを極端に恐れるため、若手インフラエンジニアの場合は複数人で作業することも多く、不明点は先輩に聞きやすい環境でもあります。
ですので、まずは業務を活用して、よく使うコマンドを覚えましょう。
ただし、周囲にそんな親切な人がいない!と言うかわいそうなプロジェクト入ってしまった若手インフラエンジニアもいると思います。
そんな若手インフラエンジニアには、後述するコマンドのリファレンス本で学習しましょう。
本や動画で学習する
コマンドをある程度覚えたら、今度はシェルスクリプトを作るための学習をしましょう。
とは言っても、そこまで学習は大変ではありません。
if文とかfor文、While文や簡単な文字列操作(cutやawkコマンド)が使えればOKなレベルですし、後述するドットインストールの動画なら、1時間程度で学習できる程度です。
インフラエンジニアが最低限のプログラミング学習するのにおすすめの教材
Linux/Unixを使っている場合のおすすめ本・動画
Linuxコマンドレファレンス
シェルスクリプトの元になるのはコマンドです。どんなコマンドがあるのかを知っておくととても便利です。
仕事の机に1冊忍ばせておくと良いと思います。
正直…気にするほどのことでもないです。
LinuxはUnixから派生したOSで、シェルスクリプトに基本的にbashと呼ばれるプログラムを使用しています。Unix/Linux系では、bashが一番広く使われており、インターネット上に情報もたくさんあります。
一方、一部のマニアックなUnixでは、bashではなく、kshやshという別のプログラムを使ってシェルスクリプトを書くこともあります。しかし、多少のオプションの違いだけなので、bashを中心に学習しておけば問題ないです。
動画:ドットインストール「UNIXコマンド入門」「シェルスクリプト入門」
ドットインストールの動画である「UNIXコマンド入門」「シェルスクリプト入門」はそれぞれ1時間程度で全ての動画を見ることができます。ただし、この2つの動画は有料会員限定(2019年現在、月額980円)です。しかし、動画だと実際に動作する様子が画像で確認でき、すんなり頭に入ってきやすいので、課金する価値は大です。
WindowsServerを使っている場合のおすすめ本・サイト
Windowsコマンドプロンプトポケットリファレンス
WindowsServerを使っている場合は、基本的にはGUIの操作になるため、サーバー構築時にはコマンドを使わないと思います。
ただし、バッチファイルを作るにはコマンドは必須です。
また、なんだかんだでコマンドを実行するのは楽しいので(笑)、コマンドのポケットリファレンスを持っておくと役立ちます。
サイト:AdminWeb バッチファイルの作成
コマンドを使い慣れたら、バッチファイルの作成に挑戦してみましょう。
ただ、本当は書籍であると良いのですが、バッチファイルについては歴史が古いせいか、書籍がほとんどありません…
そんな中でも、AdminWebはバッチファイルの作成方法を詳しく解説してくれています。
まとめ 必要なスキルは1ヶ月で学習できます
大企業常駐の場合、インフラエンジニアのプログラミングスキルは正直、初心者でも休日の1ヶ月程度を要すれば習得できてしまうようなスキルでOKです。
前述の学習方法を活用して、サクッと学習しちゃいましょう!!
ブログの更新はTwitterにてお知らせしておりますので、興味がある方はぜひフォローしていただければ嬉しいです!
ここまで読んでいただき、ありがとうございました!