業界・仕事内容

インフラエンジニアのプログラミングの必要性 できなくても大丈夫?

ITのエンジニアといえど、業務内容にプログラミングがなくてできないままの人もいます。

サーバエンジニア、ネットワークエンジニア、汎用機エンジニア(運用サイド)などいわゆるインフラ側のエンジニアがそうです。他にも、上流のシステムエンジニアや社内SEも、プログラミング業務がない場合があります。

では、こういった人たちは今後もプログラミングできないままでいいのでしょうか?

この疑問にお答えします。

この記事が役に立つ人
  • IT業界に入ったけど、プログラミングしていない人
  • インフラエンジニアだけどプログラミングできなくて不安に思っている人
  • プログラミングの業務はないけど、プログラミングを学びたいと思っている人

職種別プログラミング必要度

冒頭で上げた職種のうち、プログラミングできなくてもそれほど困らないのは、ネットワークエンジニア、汎用機エンジニアです。できた方が良いのは、システムエンジニアと社内SEです。サーバエンジニア、今ではインフラエンジニアと呼ぶことが多いですが、彼らにとってはプログラミングはできるようになるべきと言えます。

職種 プログラミング必要度
ネットワークエンジニア
汎用機エンジニア(運用担当)
SE(システムエンジニア)
社内SE
インフラエンジニア

プログラミングができなくても大丈夫な職種

ネットワークエンジニア汎用機エンジニア専門特化の部類になりますので、プログラミングができなくても特に困ることありません。Bashなどで簡易スクリプトは作れた方がいいですが、プログラミング知識ゼロでも、必要になったときにググりながらなんとかできるので、それほど気にしなくて大丈夫です。

SE、社内SEは使う機会はほとんどないでしょうが、それでもプログラミングはできた方が良いです。プログラミングできるようになれば、手動で行っている業務を自動化できる可能性がありますし、ログの解析や監視などをするときにも便利です。プログラミングできなくても業務は遂行できますが、できるようになれば一つ上のエンジニアになれることは確かです。

インフラエンジニアはプログラミングが必須

そして、インフラエンジニアは現在ではプログラミング必須と言って良いでしょう。

クラウド全盛の昨今、オーケストレーションの考え方が浸透してきて、ハード寄りのエンジニアにもプログラミングが必要な機会が増えてきています。例え今の業務でプログラミングが不要でも、そのうち必要になります。また、インフラエンジニアとして転職を考えたとき、プログラミングができないとなると選択肢はほとんどないと思っておいた方がよいです。

インフラエンジニアとして働いているけど、IT業界入りたてだったり、物理サーバ中心の環境だったりする場合は、業務にプログラミングがないかもしれません。その場合は、すぐにでも独学でプログラミングを勉強することをオススメします。

今後もインフラエンジニアとしてやっていくつもりなら、Pythonを勉強するのがいいでしょう。インフラの運用は、シェルスクリプトの次ぐらいにPythonが使われています。現場がAWSを使っているなら、PythonでAWSのAPIを使ってみるあたりからはじめるのがいいかと思います。

プログラミングできなくて困る時・できたら便利な時


プログラミングできなくて困る時、これはいろんなケースがあります。とりあえず思いつく事例を2つ紹介します。

プログラミングができないと困る最たる例は、環境のクラウド比率が増加していく時です。物理環境では時々しか発生しなかった、スペック変更、構成変更が日常茶飯事で起こります。これはGUIでポチポチして対応することもできるのですが、こういう業務は延々と増え続けます。いつまでも手動でやっていたら、ミスは増えますし人的リソースも足りなくなります。プログラミングでどんどん自動化していく必要があります。いわゆるSREのToir撲滅の考えです。

他には、単純な作業だけど人手ではできないほど膨大な量がある時です。たとえば、「テキストファイルが100万件あって、ファイルネームに作成日を入れて作成日ごとにフォルダ分けして」みたいなことになったときです。これは1件の作業はとても単純ですが、100万件もやるわけにはいかないので、プログラミングでやるしかありません。

インフラエンジニアとプログラミングの関係

インフラエンジニアのミッションは運用業務をこなすことではありません。システムを安定稼働させることが本来のミッションです。

システムの安定稼働に必要なオペレーションをするのはオペレータの仕事です。必要なオペレーションをなくす、もしくはミスが生じないように最適化していくのがエンジニアの仕事です。そのための手段として用いるのがプログラミングです。

昔、つまり物理環境の時は、シェルスクリプトやジョブ管理ツールだけで実現できたのですが、クラウドが当たり前の今ではプログラミングを使わないと対応できなくなってきました。これがインフラエンジニアがプログラミングを必要とする理由です。

どうやってプログラミングを勉強すれば良いか


インフラエンジニアにプログラミングが必要なことはわかった。でもどうやって勉強すればいいの? と思う方は、まず自分の担当業務でプログラミングに置き換えられるものがないか考えてみましょう。

もしあるなら、実際にそれにとりかかりましょう。業務時間中に仕事を兼ねてやるのが一番勉強になります。

もし思い当たらない場合は、個人環境で勉強する必要があります。言語はPythonをオススメします。個人パソコンに、Anacondaをインストールして、AWSCLIを追加しましょう。AWSアカウントを作って、EC2をたててAPIで情報を取得するプログラムを作ってみるのを目指しましょう。AWSのEC2は、一番低スペックのインスタンスならAWSアカウント作ってからの初回1年間は無料で使えます。

プログラミング経験が全くない場合は、プログラミングのオンラインスクールを使ってみても良いかと思います。プログラミング経験が無い場合は、環境構築やプログラミングの概念の理解に時間がかかります。その最初の理解に苦労するところを聞きながら勉強できるので、オンラインスクールは未経験者がプログラミングを手っ取り早く身につけるには適したサービスです。

まとめ

インフラエンジニアには、プログラミングが必須になってきているという話をしました。プログラミングできないインフラエンジニアは少し危機感を持った方がよいです。

私は3社目のベンダーでSRE(インフラエンジニア)として働いていましたが、ここではSREに配属された新卒入社の人でもプログラミングの業務をこなしていました。

ABOUT ME
tara
tara
年収360万円でIT業界のキャリアスタート
SES -> Web業界 -> 大手メーカー -> フリーランス
と経験してきて、現在は年収1000万円を越えました。

エンジニアのキャリアアップに役立つ情報を発信していきます。