orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

最近のIT関連に思うこと

f:id:orangeitems:20210223112947p:plain

 

最近の若い人達って、AWSの資格やらCCNAやらLPICやら、いろいろなベンダー資格に囲まれて勉強しているのはわかるのですが、実際の現場でいざ技術を使うとなったときに手が止まる人が多い気がしています。

確かに今のクラウドやらハードウェアやらソフトウェアやらというのは、多機能、というより自動化の世界でして、ある事を為したいときに知識として問おうとすると、どこの管理画面でどんな設定をすればそう動くか、という一点です。

ボタン一個でやりたいことができる、の世界到来なのですが、そのボタンの位置をおぼえることが知識の習得につながってしまうという錯覚が発生していることに気が付かない人の方が多いんじゃないかと感じています。

というのは、そのボタンが押されたときに、何を機構側が処理してくれるのかについて何の知識もないというケースが散見されるからです。中身を深掘りしていくとボタンの裏にはたくさんの処理が動いていて、その処理達がすべてうまく動くから最終的に人間側の生産性が上がる、という算段です。しかし、実際そのボタンを押すにあたって、なぜそれを押すか。また押したらどうなるのか。話を聴いてみるとあまり考慮がされておらず、「押せば、そうなるんですよね?」くらいの話しかできないのです。

設計観点から言えばそれではリスクが大きくて、実際押したときに動く処理を頭に入れて、もしかしたら自動処理が何かやり過ぎるかもしれない。もしくは足りないかもしれない。そして何か不具合が発生した時に、その不具合について誰かに説明しなければいけないときに言葉が出なくなる。これは良い事ではありません。ボタン一つになったとしてもブラックボックスにしてはなりません。機能に思考を丸投げして、その結果について責任を持たないというのは、システムエンジニアの責務を放棄していると言えると思います。

ただ、どこまで追うか。例えばコンパイラやアセンブラのレベルまで何をしているかというのは、現代のシステムエンジニアのほとんどは知識はないと思います。ただデータを渡すまでは手作業でやっていた。手作業だからこそ、そのプロセスは何で、それに関しての順番や作法については一定の知識があったのが今まででした。

しかし、もはやコンパイラどころか、コードを書く必要がない、ノーコードというレベルまで到達しようとしているITにおいて、システムエンジニアになろうとする若い人たちが、この表層のインターフェースばかりを気にして、実際中で何が動いているかについて知る機会が無くなっているのは憂慮すべき状況にあります。

とりあえずは私はこういう人たちに、GUIのボタン操作をおぼえた後、コマンドでも同じことができる、ということをお知らせします。その後、ログを見る方法を教え、そのログを読む方法を伝えます。ログを読む段でちんぷんかんぷんになることが多そうですが、その気づきこそ大事です。ボタン一つに見えて、裏側でいろんなことをやっているという文化がどんどん拡大していて、でもシステムエンジニアと呼ばれる人は、この裏側まで見たいときに見て、理解する必要がどうしてもあるのです。そうしないと、ボタンを押して、エラーコードが返ってきた時に、手も足もでなくなるのです。

私にメンバーがエスカレーションしてくるときに、「ボタンを押したらエラーが出ます」という話は非常に多い。そこで聴いてこない人であっても、OSごと再起動し再度ボタンを押しても解決しない。そこまでで終わってしまう。いやいや、問題の切り分けをするためにログを見よう。ログに何が書いてあるか読めなければ、それは基礎的な知識が欠落しているんだよ、ということです。

便利になり過ぎるのも考えものであり、とりあえずは知識が足りてないよ、最近の口癖になりつつあるのですが、どうやって知識って付くのでしょうね。どんどん自動処理に吸収され、学ぶ機会が無くなって行っているのが気になります。