インフラエンジニアにオススメのプログラミング言語と学習方法【解説】

インフラエンジニアだけどプログラミングの勉強を始めようかなと考えていませんか?
インフラ系の業務にも活かしやすいプログラミング言語を知りたいと思っていませんか?

僕はもともとネットワークエンジニアとして働いていましたが、現在ではネットワークの構築業務のみならず、自動化業務など幅広いお仕事をしています。

初めてプログラミングを学習する方は、HTML/CSS JavaScriptやPHPなど、web系の言語から開始する方が多いと思いますが、インフラエンジニアとしてはweb系のスキルはなかなか活かせません

結論から言うと、PythonかRubyが業務に活かしやすい最適な言語です。

僕自身、自動化するに当たって使用している言語はPythonです。

今回はPythonやRubyをオススメする理由や、どういった形で業務に活かせるのか、学習方法やオススメの教材などを解説していきます。

本記事の内容

  • web系の言語はインフラ系業務に活かしづらいです
  • PythonかRubyをオススメする理由
  • 学習方法やオススメ教材の紹介

web系の言語はインフラ系業務に活かしづらいです


初めてプログラミングの勉強を始める方の多くは、web系の言語から始めてしまう方が多いです。

なぜなら、web系エンジニアのアフィリエイターが多くの情報発信をしていることや、初心者でもフロントエンドの技術は身につけやすいことから、ネット検索して出てくるキラキラ系の記事はweb系が多いです。

「誰でもプログラマーになれます」「誰でもフリーランスエンジニアになれます」といった類のものも、だいたいはフロントエンドエンジニアの事を指しています。

ちなみにフロントエンドエンジニアというのは、具体的には「HTML/CSS JavaScript」などの言語を用いてwebの見た目などを作っていくエンジニアです。

僕自身、初めてプログラミングを勉強したのは上記の3つでした。

目に見える部分を作っていくのは直感的にもわかりやすく、プログラミングというよりはパズルを組むような感覚の楽しさがあります。

しかし、インフラエンジニアとして活かせるかというと正直微妙です。

なぜなら、インフラエンジニアは顧客にwebを提供する訳ではないので「webの見た目を整える」などの仕事が必要となることがほぼ皆無だからです。

ですが必ずしも活かせないわけではないです!

僕の場合、コンフル(業務ドキュメントなどをまとめられるプロットフォームサービス)のページにHTMLとJSを埋め込んで、動的にデータを取得できるようにしたりしています。

また、このブログもその時に学んだ内容からサクッと自作できました。(業務ではないですが・・・)

ですが、直接的にインフラの業務として使用するということはなく、付加価値としての価値は出せているといったところです。

プログラミングをインフラエンジニアとして活かすには遠回りなので、敢えてweb系から学習を開始するメリットはないと言えます。

決してweb系の言語自体を否定している訳ではありません、インフラエンジニアとして活かすには向かないというお話です。

PythonやRubyをオススメする理由


それでは僕がオススメするPythonとRubyのお話をしていきます。

環境構築が簡単

インフラ系の業務では、色々なセキュリティ制約などがあり、自由に環境を作れないことが多いです。

ほとんどのサーバーはUNIX系ですが、UNIX系のサーバーには標準でPythonとRubyがインストールされています

何かサーバーでプログラムを実行するに当たっての制約が少ないのは大きなメリットと言えます。

また、業務でMacを使う場合も同様にPythonとRubyは標準でインストールされています!

実行環境が最初からある場合、いちいち導入作業をしてもらわなくてもいいため比較的簡単にコードの共有を行えます。Dockerなどの環境構築も楽に行えます。

ライブラリが豊富

ライブラリを使えば、GCPのAPIを叩いて情報を取得したり、ネットワーク機器にアクセスしてconfig取得や設定変更したりというのが簡単に実行できます。

インフラでよく使われているJenkinsやAnsibleなどのサービスもPython/Rubyとの相性がよく、自動化しやすくなっています。

他にもWiresharkのpcapファイルを解析したりなどなど、本当に多くのライブラリがあります!

汎用性が高い

RubyやPythonで、webアプリの作成などもできます。

web系だとPHPなどが最も学習コストが低いとされていますが、RubyやPythonでもweb開発を行うことはできます。

web系のベンチャーなどではRuby on railsが最もシェアが多いとされていますし、大手などの大きなシステムではDjangoを使った開発もどんどん増えてきています。

一度しっかりとPythonやRubyの知識を身につけてしまえば、かなり幅広くの開発をできるので、言語の学習価値はとても高いと言えます。

学習方法やオススメ教材の紹介


それでは、RubyとPythonの学習方法を紹介していきます。

まず基本的な内容は「ドットインストール」か「Progate」でさらっと学習する事をオススメします。

ドットインストール

ドットインストールはRubyやPythonの基本構文を動画で学習できます。他にも様々な言語やサーバー環境構築方法などもあり、とてもわかりやすいです。

また、無料で学習できるので、とりあえずトッドインストールから初歩的な部分を学習するのはオススメできます。

Progate

Progateは月額980円かかるサービスですが、web上で実際にコードを書きながらシナリオを進めていきます

実際に課題が与えられて、手を動かしながらプログラムの動作を試せるのでとても学習効率が高いです。

2-3ヶ月程度で学習できるので、数千円を許容できるのであればとてもオススメできます!

僕は本とドットインストールで基礎的な内容をコツコツ勉強しましたが、PHPをProgateで学習した時は最高にわかりやすかったです

個人的には数千円をケチりすぎず、なるべく早く基本的な部分を学習してしまう事をオススメします。

自動化の学習

僕はRubyでの自動化は少ししか行ったことがないので、今回はPythonでの自動化にオススメのものを紹介します。

ノンプログラマーにもできる自動化処理プログラミング
これはExcelの自動化やweb自動化、ネットワーク機器の自動化など、様々なパターンが記載されているのでオススメできます。

僕はある程度の自動化作業に慣れた時期にこの本を読みましたが、今まで時間をかけてやっと実装した内容などがたくさん載っていました!

Udemyのコースにもオススメのものがあったので紹介します。

これは基本的なpythonの書き方からインフラ寄りの応用的な自動化までとても多くの内容を網羅していますし、動画で学習することができます。

たった1200円という書籍よりも安いような価格ですが、圧倒的に素晴らしい内容です。

興味がある方はぜひ購入する事をオススメします。

  • > Network
  • > インフラエンジニアにオススメのプログラミング言語と学習方法【解説】