orangeitems’s diary

クラウドで働くインフラエンジニアの日々の感想です(ほぼ毎日更新)。

インフラエンジニアは現場に入らないと勉強なんてできないんじゃないの?という話

f:id:orangeitems:20211001001205j:plain

 

最近IT業界に未経験でも入ろうとする人が増えているらしいですね。

 

toyokeizai.net

コロナ禍において、新卒から20代若手社会人に至るまで「IT業界」の人気がかなり向上していることがデータからも見て取れる。現場でキャリア支援を行っている筆者の元にも、未経験からIT業界への就職(転職)を志望する求職者の相談が増えている。

 

いいことです。どんどん入って欲しいです。

私はインフラエンジニアなので特に思うのですが、勉強してから就職しようなんてできないんじゃないかと思うんです。

皆勉強しようとするとどうするかって、クラウド上でOSを借りたり、自分のパソコンで仮想マシンを作ったり、最近だとDockerなどでサクっと環境作ったりと、どちらかというとOS以上のトレーニングをすると思うんです。

そりゃ、インフラエンジニアの仕事を狭く見れば、ファイルの移動・コピー・削除、あるいはテキストエディタでの変更作業。そしてプログラムの実行や停止。これだけで9割です。だから、とりあえずはWindowsでもLinuxでも、手始めにOSの基本操作を学ぶのはアリはアリでしょう。

そこから、DNSやらWebサーバーやらDBサーバーやらに進んだりして、それに相応する書籍もありますし、そこそこは勉強できます。

さて、これで現場に入って大活躍できるか。

残念ながら、ここまでについては基礎の基礎。もちろんやっておくに越したことはありませんし、努力する姿勢については就職するまでは高く評価されるでしょう。もちろん何もしていない人と比べると、お、いいね、となります。ただ、現場に入ってからは新しいことをどんどんおぼえることになるでしょう。それは何か。

現在のシステムは、まずクラウドでもそうでなくても、ネットワーク構成から入ります。サーバー群がどのように配置され、どのように通信をしているか。その通信とは何のために行う必要があるのか。万が一の障害時にはどのように問題を和らげるような設計をしているのか。動いているシステムから学べる情報が非常に多いのです。

この動いているシステムがなぜそのように構築されたのかの思想をまとめているのが設計書です。どの現場でも設計書をきちんと書けているかどうかはバラつきがあります。もしくは構築時に作ったけれど、どんどん変更を繰り返し乖離のある設計書になっているかもしれない。それであってもまずは目を通し、なぜ構築した人はこんな構成にしたのかを学ぶことは非常に重要です。

なぜ重要なのかというと、自分がイチから構築することになったときに、安定して動いていたシステムの設計を使うことができるからです。

何も経験もないのに、いきなり、安定したシステム構成を作りなさいと言われて、その類の本をいくら読んでも現場の実績にはかないません。あの本に書いてあったから、流行しているから、と安直に奇抜な構成を採用し、運用の段に大変苦労することになる事例はたくさんあります。

その上で、本には「きっとうまく行く事例」しか載っていません。ところが現実には目論見から大きく外れる動作が起こり、いろんな想定外の事例に対処しなければいけません。失敗例こそ学びは多く、ああ、自分が次に構築する時にはこのやり方はやめよう。いわゆるアンチパターンを学ぶことが現場からはできるのです。

運用時を考えるとまだ考えるべきポイントがあります。バックアップと監視です。ことごとく、想定外が起きても安全なようにしなければいけません。バックアップを取るとしてもその取得にかかる処理がシステムに負荷をかけてはいけません。構築時は想定通り取れていたバックアップが、システム側の急激な変更を経てデータが肥大化し、取れなくなるなんてことも起こります。取れなくなったことを気づく運用をしていなければ、ある日を境にバックアップが取れておらず、障害時にリストアができなくなる、なんて事例も運用では起こり得るのです。また監視にしても、何を監視するのか。監視し過ぎるのもいけません。問題を判別するために必要十分な監視をしかけなければいけない。そして監視でエラーが出たら、その後運用担当者は何をするかまで想定しておかないと、エラーだけが寂しく繰り返され、本来の監視の意味を失くしてしまいます。

こうやって考えると、現場に入るまでは、何かファイルを操作したりプログラムを停止したり起動したり、と言った仕事ばかりが想定されるのですが、今や、プログラムをめぐる環境は複雑なことになっています。特にクラウドの登場で、AWSのやり方、Azureのやり方、Googleのやり方・・・など、マルチにおぼえて行かないといけないことも増えました。オンプレミスの世界でも、ベンダーが変われば作法も変わります。それらを「家で事前で勉強して・・」なんて言うのは私は絵空事に近いです。

もう、あんまり家で十分勉強して、ベンダー資格をいっぱい取って、そして就職活動しようなんて思う必要はないんじゃないかと思います。むしろ未経験でも飛び込んできてもらう。もし受かったら基本情報処理技術者試験、およびLinuxやWindows、そしてWordやExcelの基本操作を働きながら身に付けて行くぐらいでいいのではないか、と。とにかく準備に時間をかけずに現場にチャレンジしてもらい現場でいろいろと学習してほしいです。いろんな基本的な知識は並行して勉強しながらでもよいのです。

だって、いくらAWSなどクラウドでインフラ環境が再現できるといったって、現場でもしっかり動くような設計で構築したら、月数万はかかってしまいます。そんなのを勉強代としてポンと払えるような人はいいですが、そんなのお金の無駄だと思います。それよりは現場に早く入って、動いているシステムとその設計書、そして運用の基本を体験したほうが現実的だと思うのです。

私のキャリアも似たようなものなので、ぜひ経験問わず、やる気があればチャレンジしてほしいなとインフラエンジニアの私は思います。