ホンモノのエンジニアになりたい

ITやビジネス、テクノロジーの話を中心とした雑記ブログです。

SIerに入社したインフラ/サーバ屋が勉強すること、考えること

Never stop learning

SIerでハッピーライフを送っている皆さま、こんにちわ。

このエントリではSIerのインフラ/サーバ屋が勉強すること、考えることをツラツラと書いていきます。

 

背景:「僕はPMになるんで大丈夫です」と言われた話

先日、私がSIerに勤めていたときの後輩から連絡があり、久しぶりに会って話をしてきました。話のなかで「ちゃんと勉強してる?」と聞いたときに、その後輩君が言ったのが、こんなセリフ。

 

僕はPMになるんで、そこまで技術は身につけなくて大丈夫です!!!

 

えっ?いやぁ、まぁ、う~ん、そっかぁ・・・

いやいや、ダメじゃね?

 

最終的にこんな感じに、こうなるぞと説明をしました

  • 担当者からの報告内容を理解できない
  • お客さんに状況を説明することができない
  • 正しい判断を下せない
  • 結果的に皆からダメPM扱いされ、信頼を失う
  • 精神的に強いダメージを負い、メンタル疾患へ

 

最後の方は冗談交じりで話しましたが、お客さんや自チームの作業者から信頼を失うってのは、けっこう効くんですよね。精神的にかなりきます。

 

で、じゃあ何をどうやって勉強したらいいんだろう?という話になりました。そこで話した内容の一部をここでまとめてみようと思い(重い)筆をとったというわけです。

 

何を勉強すべきかは、立場によって、会社の指導方針によって、個人の信仰によって、いろいろあるかと思います。途中で私が開眼したときの話なんかも含めています。一例としてみていただければ幸いです(保険)。

 

勉強すること

情報処理試験

SIerと言えば情報処理試験。「所詮は資格。役に立たん。」と言われる代表格です。私は情報処理試験けっこう好きで、セキュリティとネットワークを持っています。何で好きかって言うと、1つは難易度の割に周りからの評価が高いから割安にみえること。後はこっちの方が大きい理由ですが、基礎を勉強できるからですね。通常の業務をやっていると基礎なんて勉強しなくても仕事自体はだいたい出来てしまいます。でもトラブった時などの非定型な仕事をするときって、この基礎力が試されると思うんです。しかし基礎力を身につける機会ってトラブル時を除いて、新入社員研修くらいしかないんですよ。なので、それを補える情報処理試験の勉強はやっておいた方がいいと思います。

 

それに何だかんだ基礎って後から重要性に気づくものです。どんな分野でも始めたての頃の基礎練習はつまらないものです。応用的なものをやりたくなります。しかし、応用練習が一周回ると、差がつくのは基礎の部分なんだなぁと気づいたりします。スポーツだって芸術だってビジネスだってITだって、全部そう。これは私が三十余年生きてきて得た確信です。基礎を疎かにすると伸び悩む。これ真理。

 

私がSIerに就職してから初めてブレークスルーを感じたのがセキュリティスペシャリストに合格した直後でした。それまでもシステムインフラの仕事はしていましたが、なんかシステムの全体像がボヤけて見えていたんです。全体像がよくわからんなぁと。セキュリティスペシャリストの勉強でシステム構成図を見て考える機会があったからでしょうか、合格してからシステムの全体像がそれまでよりもくっきりと見えるように感じたことを覚えています。「あれ、何かわかるぞ」と。これが情報処理試験の勉強をしていたからなのか、たまたまシステムの全体像を理解するためのレベルに達したのがそのタイミングだったのかは分かりません。ただこれが後者だとしても、そのレベルに達するまでの経験値を貯めるのに情報処理試験の勉強が役立ったことは間違いないと思っています。

 

ベンダー試験

もう1つ資格試験から。ベンダー試験ですね。ベンダー試験の勉強もインフラ/サーバ屋の方にはオススメです。サーバ屋はその守備範囲から考えて、LPIC(現LinuC)、Oracle、Ciscoあたりでしょうか。私はそのあたりしかわかりません。AWSとかVMware、MS系なんかも選択肢に入るかもしれませんね。

 

LPIC

サーバ関連の仕事をしている方にはLPIC超オススメです。前述のように、システムの全体像は情報処理試験の勉強を通じて理解を深めることができます。すると、今度は個々のサーバや機器を使いこなせるかというのが課題となります。そのときにすごく役立つのがLPIC、Linuxの勉強です。

 

いまどき新しくサーバを構築しようと思ったら、Linuxがファーストチョイスになるんじゃないでしょうか。アプリサイドの制約や、リプレースに絡んだ制約がなければ、わざわざWindowsサーバを選択する理由がないので、基本Linuxを使うことになります。そのときに「自分はcdとlsとviくらいしか使えない」とか「いつもの定型作業以外はわからない」となるのは非常によろしくない。

 

LPICはLinuxを網羅的に学ぶことができます。「あら、このコマンドめっちゃ便利そう」とか「/bootってそういうディレクトリなんだ」とか「起動処理の流れってこんなんなんだ」とか初学者にとっては学びの時間対効果が非常に大きいものになると思います。認定を受けようとするとなかなか受験費用が高いので費用対効果は出ないですけど、そこは会社に出してもらいましょう。

 

私の話をすると、前述のセキュリティスペシャリストに合格した直後に勉強を始めたのがLPICでした。セキュリティに受かって「何となくシステムってのが分かってきた気がする」という時期にLPICをやり始めて、実際に認定をとりました。「なんか一通り、自分だけで出来そうな気がする」と、思い始めたのがこの辺りで、とても自信に繋がったことを覚えています。

 

Oracle

あとOracle認定。私は会社から受験費用が出るっつーことで、ブロンズの勉強をやっていました。残念ながら、受験してこれは受かるぞと思えるレベルになった頃に、会社の制度が変わり受験費用を出してもらえないってことになりました。「自分で金だしてまでブロンズ欲しくない」と思ったので、受験はしなかったですが、学んだことはそこそこ生きていると思っています。「DBMSってだいたいこんな機能あるよね」とか「SQLでこういう風に情報を取り出すことができたはず」という知識は、Oracleブロンズを学んだ結果だと思っています。

 

Cisco

インフラ屋の勉強で欠かせないのはネットワークもですね。いまどきは分からないですけど、サーバ屋はLinux、ネットワーク屋はCisco IOSができないと話にならん、と言っている人がいました。

私はCisco認定資格を勉強することを考える前にネットワークスペシャリストを取りました。実務でネットワークをバンバンやっていくなら、Cisco認定を取った方がいいんでしょう。私はサーバ屋としてネットワークの理解を深めたい程度の動機しかなかったので、せかせかやる必要もないと考えながら現在に至ります。

ネットワーク寄りの仕事をしている人は、チャレンジしてみると、きっと新たな気付きがいっぱいあると思います。

 

レンタルサーバ運用

資格とは別に勉強したほうがいいと思うことがあります。自分のサーバを持つことです。私はSIerを辞めた後にサーバを借りてWEBサービスを公開するようになりました。これがまた得るものが多くて。私は、アプリを開発する、自分で要件を出す、自分でシステムを運用するって経験がありませんでした。自分でサービスを運用していると、セキュリティはどうだ、ログは、デプロイは、DBは、費用は、と考えなければいけないことがどんどん出てきます。こういうのをどうやって対処していくべきか、1つずつ調べて、考えてを繰り返している内に、「あぁ、システムってこうなんだ」と理解を深めることができました。

 

いまどき簡単なWebアプリを作って公開するってことは、やってみれば大したことではありません。しかし、そんなことでも、一度やったことがあるってのは大きいことだと思います。費用はいくらかかるのか、どれくらいのサービスを作るのにどのくらいの時間がかかるのか、これを実地で経験してるってのは自信に繋がります。アプリの世界も進んでいけば徐々に奥の深い世界だと新たに見えてくるものがいっぱいあります。

 

そうやって作って運用していくなかで、徹底的に費用をかけないでやってみるとか、デザインにこだわって作るとか、ユーザが感じる楽しさを重視するとか、完全自動化を目指すとか、とにかく最新技術を固めて作るとか、また次なるステップが見えてきます。こういうのをやっていかないと、システム屋としての幅が出てこないんだなぁと、やってみて気づくことができました。だぁれもそんなアドバイスをしてくれなかったのが残念で仕方ありません。

 

弄って壊す練習を

いじくり回して、ぶっ壊す。これも勉強法として1つオススメです。PCにVirtualBoxでもいれて、Linuxをインストールしましょう。で、後は面白そうなオープンソースプロダクトでも入れて動かしてみる。自分でビルドしてみる。使ってみる。で、必ず上手く動かないということが起こりますから、動かすためにどうしたらいいかと調べて、ガチャガチャと弄りながら何とかする。究極的にはこれが一番勉強になったような気がします。普段仕事の中でガチャガチャいじくり回すことってなかなか出来ないですから、仮想マシンをいじくり回して壊すのはとても良い経験になります。

 

アウトプットの場を作る

サーバを弄ってモノとしてアウトプットするのもいいですが、ブログやQiitaのような場で勉強したことを発信するのも大切なことです。アウトプットするためには、自分が考えていることや知っていることを整理整頓し理路整然と並べていかなければならない。そのなかで抜け漏れに気づいたり、実はロジカルに語れなかったり、そしたらそれはなんでだろうと考えたり調べたりしなければならない。そうやって自分で調べてアウトプットした情報ってのは簡単には忘れません。これを積み重ねていくと、きっと賢い人間になれるのだろうなぁ、と思いながら私はブログに駄文を書き殴っております。

 

アウトプットのことを書くなら、ぜひこれも書きたいと思っていることが1つあります。「アウトプット馬鹿になるな」です。アウトプットってインプットよりもやった感が出るんですよね。しかもいろんなところで「日本人はアウトプットが足りない」とか言われてるもんだから、『なんちゃってアウトプッター』みたいな連中がけっこういます。青少年特有の病気として思春期の子らがイキっているならまだいいんですけど、いい歳の人がこれに罹患しているとみていて悲しくなります。

 

この「アウトプット大事論」は、インプットという地味で評価の対象になりづらいことを続けられない人にとって「バナナ食べてれば痩せる」みたいな耳障りのいい話なんですよ。普通に考えて、バナナ食って痩せるわけがないし、アウトプットするためにインプットがなければ処理できないのは当たり前です。けど、努力したくないけど見た目の良い結果を得たいという人たちは常に一定数いて、そういう人たちの需要をうまく汲んだ理論になっています。

 

そういう人たちのアウトプットって、一見して「くだらねーなー」って分かるんですよ。インプットが無いから中身がスッカスカで突っ込んで聞いてみると「分からない。知らない。アウトプットが大事だから言っただけだし。」みたいな反応をする。正直、いい大人がやっていると「見ていて恥ずかしくなるからやめてくれ」と叫びたくなります。

 

アウトプット自体は重要なものだと思っています。積極的にアウトプットしている人のことは、すげぇなぁ、頑張ってるなぁ、と素直に思います。しかし、それはきちんとインプットして、きちんと脳内処理をして、アウトプットされたものに限ります。「なんちゃってアウトプッター」に欠けているのは「アウトプットはインプットと同じくらい大切なもの」「インしたものをどう処理してアウトするか」というところだと思います。このセクションは自戒の念を込めて書きました。

 

将来のことを少し真面目に考える

今の50代くらいのSEだったら逃げ切れるでしょうけど、その世代以下は自分で手を動かしてやってみるという形できちんと経験値を積んでおかないと危ないんじゃないかと思っています。

 

いまSIerで働いている人は自社の50代60代の方々を見てみてください。「デジタル化だ、イノベーションだ、IoTだ、AIだ」と、いかにもどっかの記事に感化されたようなことを言っていませんか。本質的に理解しているわけでもないことを若手にやれと言っているでしょ。で、若手は偉い人のそういう発言を冷めた目でみているわけですよ。呆れているかもしれませんね。私が勤めていた会社では、そんな感じでした。「あぁ、また本部長が何か言い始めた。なんか雑誌でも読んだんだろうなぁ」と。

 

しかし、30年後の自分がそういう立場になるかどうかってのは、今、どれだけ新しい技術・知見に食らいついていけるかにかかっていると思うんです。いま食らいついて手を動かす気概がないなら、5年後も10年後も結局手を動かすことはないでしょう。で、30年後、若者たちから冷たい視線を向けられると。「あいつは最新のプラットフォームのことを語りはするけど、本質的なところが何にもわかってない。m9(^Д^)プギャー」と。

 

やっぱり年齢を重ねていった先で軽んじられ、馬鹿にされてってのはけっこう精神的に耐え難いものがあると思います。それにいつまでも今のIT産業の構造が維持されるわけでもないだろうし、正社員が守られている環境がずっと続いていくわけでもないでしょう。SIerはIT系の中にいるので、その根っこにあるIT技術を理解していない人間はいずれ淘汰されると思うんです。

 

「大手ベンダーでマネージャとして10年勤めていました」なんて経歴が陳腐化するときがくると思うんだよなぁ。

 

だから、だから勉強しないといけないんじゃなかろうか。私はそのように考えております。と冒頭の話に繋がったところで、筆を置きます。

 

ご清聴ありがとうございました。