例えば、
「この関数が想定通りに動作しない。どうすれば動作できるようになるか?」
みたいな質問、自分より経験の少ない部下や後輩に聞かれることありますよね。
そんな時、どう答えますか?
私は、このような質問には意識してこう答えるようにしています。
「えっと、まず何がしたいの?」
私のこの質問に対して、一定数、というかほとんどの人はこう答えます。
「この関数を正常に動作させたいのです」
当社の社員はもう慣れっこですが、このあたりで私の眉間にはシワが寄り始めます。
「関数を動作させたいの?それがあなたの『目的』?」
「違うよね。関数を使うのは『手段』であって、そもそもの目的は別にあるよね。要求仕様を満たしたいとか、システムエラーを回避したい、とか」
そうすると、みなさんハッとした表情で本来の目的をしっかりと説明します。
目的が正しく認識できれば、助言も実に広い視野で考えることができます。
本当に多いんですよ。このパターン。
たぶん、私は駆け出し時代から今に至るまで、それなりに優秀なITエンジニアなのだったと思います。
(独立独歩でIT企業立ち上げて、自分もエンジニアとして前線に立ちながら20年以上生き延びてるのですから、それくらいの自信は持ってもいいでしょう?)
で、私が「できた」理由のひとつが、この考え方によるものだったと思うのです。
業務遂行上、何かしらの問題にぶち当たった時に「本当の目的」を常に忘れないこと。
目的実現のためにはその問題の解決が最善なのか、別の手段はないのか、そもそも全く視点を変えた実現方法はないのか。
ひとつの問題の解決や対処に時間を使うと、ある時点で「あれ?目的は何だっけ?」と私の中で警報がなります。ウルトラマンのカラータイマーみたいに。
そして、いったん立ち止まり、視野を広く持って周りを見渡します。
その結果、解決策がとんでもなく意外なところにあったことも一度や二度ではありません。