作業の仕方はルービックキューブの解き方に似ている
作業を依頼されて、頭の中で???となっていいる人を見ます。
なんでかなと考えたときに、知識不足というのは当たり前なのですが、それ以外に経験が不足しているという点も否めないなと思います。
ただ、経験って何?と考えたとき、自分が作業を振られた際にどうやって考えているのかということを考えてみました。
そう考えてみたときに、ルービックキューブをサッと揃える人の話を思い出しました。
どうやって解いているかというと、全パターンを網羅して覚えていて、どう動かすかを知っていると聞いたことがあります。
作業を行うときはまさにその通りで、例えば、FTPサーバを作ってと依頼された場合、どういった考えをしているのかをちょっと考えてみたいと思います。
全体像を考えてみる
ざっくり簡単に考えてみると以下のようになります。

こんな感じで、全体像が見えます。
FTPという機能は、ファイルを受け渡すための機能となります。
そのため、ファイルを受け渡しするための、ユーザとサーバという関係がイメージできます。
※画像の左側、ユーザ用PCからFTPサーバにファイルを渡すという点です。
また、FTPサーバを作ってと言われたので、構築するPCからFTPサーバを作る必要があります。
※画像の右側、構築用PCからFTPサーバを作るための通信という点です。
こういった、決まりきったことというのが、インフラの業務にはよくあります。
別パターンを考えてみる
LoadBalancerがあり、httpの表示をランダムで切り替えたいという要件を聞いたとき、パッと以下のような図が頭に浮かびます。

こういった、これといえばこれというような、構成やお決まりのようなものが複数あり、それを多く覚えておくこと、それが成長につながっていくと思います。
むやみやたらに、AWSの学習をして、AWSリソースの名前や機能、仕様を知識として詰め込むのであれば、まずは、インフラとしての構成という点のパターンをいろいろ覚えた方が、実は作業を行う上で重要だったりすると思います。
AWSといっても、結局、EC2はサーバだったりします。
なので、どういった通信があるのかという、あるべき姿を知識として複数知っておくことで、より効率的に作業が進められると思います。
このあたりの当たり前が備わっていないと、EC2に対してhttpの通信を行うという際に、SGやNACLなど設定しなければいけない点などのあたりが付かず、接続できませんという課題に直面します。
できると何がいいのか
こういった全体像が見え、どういったものがあり、どういった通信、どういった処理があるのかがわかっていると、依頼を受けた際に、これはどうなっているかなどの懸念、リスクなどが瞬時に質問でき、優秀っぽい行動ができます。
そういった行動ができると、依頼者の信頼にもつながっていきます。
また、課題が発生した際にも、どのあたりに問題があるのかもイメージしやすくなります。
これと言ったらこれ、全体像の把握などはぜひ、知識として身に着けていただきたいと思います。
まとめ
カレー作ってと言われたら、だいたい、野菜切る、肉と野菜炒める、煮込む、ルー入れるなどの大まかな作業工程はイメージできると思います。
そうなると、野菜切る前に、ニンジンあったかな、一応確認しておこうかなという発想になると思います。
作業も全く同じで、これする前に、○○はインストールされている?インストールしてしまって大丈夫?など懸念が見えてくるので、ぜひ、全体像の把握、把握するパターンを増やすということをしていってもらいたいと思います。
余力があれば、今後も、インフラのこれといえばこれというパターンをまとめていきたいと思います。
インフラ経験者には物足りない記事だと思いますが、こういった考え方を意識しているか、無意識かはわかりませんがしている人がほとんどだと思います。
自身の元のに新人が入ってきた際に、ぜひこういった考え方をするといいというアドバイスをしてあげるといいかと思います。