インフラエンジニアにオススメのプログラミング言語と学習方法【解説】
インフラエンジニアだけどプログラミングの勉強を始めようかなと考えていませんか?
インフラ系の業務にも活かしやすいプログラミング言語を知りたいと思っていませんか?
僕はもともとネットワークエンジニアとして働いていましたが、現在ではネットワークの構築業務のみならず、自動化業務など幅広いお仕事をしています。
初めてプログラミングを学習する方は、HTML/CSS JavaScriptやPHPなど、web系の言語から開始する方が多いと思いますが、インフラエンジニアとしてはweb系のスキルはなかなか活かせません。
僕自身、自動化するに当たって使用している言語はPythonです。
今回はPythonやRubyをオススメする理由や、どういった形で業務に活かせるのか、学習方法やオススメの教材などを解説していきます。
本記事の内容
- web系の言語はインフラ系業務に活かしづらいです
- PythonかRubyをオススメする理由
- 学習方法やオススメ教材の紹介
web系の言語はインフラ系業務に活かしづらいです
初めてプログラミングの勉強を始める方の多くは、web系の言語から始めてしまう方が多いです。
「誰でもプログラマーになれます」「誰でもフリーランスエンジニアになれます」といった類のものも、だいたいはフロントエンドエンジニアの事を指しています。
ちなみにフロントエンドエンジニアというのは、具体的には「HTML/CSS JavaScript」などの言語を用いてwebの見た目などを作っていくエンジニアです。
僕自身、初めてプログラミングを勉強したのは上記の3つでした。
目に見える部分を作っていくのは直感的にもわかりやすく、プログラミングというよりはパズルを組むような感覚の楽しさがあります。
しかし、インフラエンジニアとして活かせるかというと正直微妙です。
ですが必ずしも活かせないわけではないです!
僕の場合、コンフル(業務ドキュメントなどをまとめられるプロットフォームサービス)のページにHTMLとJSを埋め込んで、動的にデータを取得できるようにしたりしています。
また、このブログもその時に学んだ内容からサクッと自作できました。(業務ではないですが・・・)
ですが、直接的にインフラの業務として使用するということはなく、付加価値としての価値は出せているといったところです。
決して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開発を行うことはできます。
一度しっかりとPythonやRubyの知識を身につけてしまえば、かなり幅広くの開発をできるので、言語の学習価値はとても高いと言えます。
学習方法やオススメ教材の紹介
それでは、RubyとPythonの学習方法を紹介していきます。
まず基本的な内容は「ドットインストール」か「Progate」でさらっと学習する事をオススメします。
ドットインストール
ドットインストールはRubyやPythonの基本構文を動画で学習できます。他にも様々な言語やサーバー環境構築方法などもあり、とてもわかりやすいです。
また、無料で学習できるので、とりあえずトッドインストールから初歩的な部分を学習するのはオススメできます。
Progate
実際に課題が与えられて、手を動かしながらプログラムの動作を試せるのでとても学習効率が高いです。
2-3ヶ月程度で学習できるので、数千円を許容できるのであればとてもオススメできます!
僕は本とドットインストールで基礎的な内容をコツコツ勉強しましたが、PHPをProgateで学習した時は最高にわかりやすかったです!
個人的には数千円をケチりすぎず、なるべく早く基本的な部分を学習してしまう事をオススメします。
自動化の学習
僕はRubyでの自動化は少ししか行ったことがないので、今回はPythonでの自動化にオススメのものを紹介します。
僕はある程度の自動化作業に慣れた時期にこの本を読みましたが、今まで時間をかけてやっと実装した内容などがたくさん載っていました!
Udemyのコースにもオススメのものがあったので紹介します。
Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする
これは基本的なpythonの書き方からインフラ寄りの応用的な自動化までとても多くの内容を網羅していますし、動画で学習することができます。
興味がある方はぜひ購入する事をオススメします。
- > Network
- > インフラエンジニアにオススメのプログラミング言語と学習方法【解説】