エンジニアの直感は、過去に得た形式知と経験値の繋ぎ合わせでしかないんだよ


むかーし、大規模プロジェクトの全体共通的な役回りをしていたとき、とあるタスクで使っていたツールがバージョンアップすることになったんだね。まぁ、良くある話です。今なら、WindowsXPのサポート切れちゃうけどWindows7に移行するときこれまで使っていたツールどーすんの?32bitだったけど64bitあるんだっけ?的なのに近いかも。


そのタスクは担当者がアサインされていたんだけれど、そのツールのバージョンアップをしてしまうと四半期ごとに処理していた計測が出来なくなっちゃってにっちのさっちもいかない状況になって困り果てていたんだ。


で、関係者でミーティングをすることになって、何故かワタシもお呼ばれして。

計測は四半期ごとにやっている。
四半期の期中にツールのバージョンを変える。
バージョンを変えることは他のタスクの不具合の対策なので変えられない。
ツールを変えると計測対象のリポジトリも変わってしまう。
バージョンアップ前のツールでは、ツール入れ替え前までしか計測できない。
バージョンアップ後には、新ツールを導入した後の分しか計測できない。


こうやって、今になってみれば当時なんでみんな悩んでいたのかよくわからないけれど、−え?どうすれば解決するか想像つくよね?−、兎に角、当時はこの条件下で悩んでいたんだ。


随分とミーティングがスタックしていたとき、ふと、閃いちゃったんだ。

「なんだ、簡単じゃないか。」って。


当時から既に、上記の制約、つまり、期中でツールが変わるタイミングやバージョンアップ前のツールはバージョンアップまでしか計測できないとか、バージョンアップ後はそれ以降しか計測できないとかを、空中戦にならないようにホワイトボードに描いていたんだ。


今思えば、そこにもう、答えは描いてあったのに誰も気づかなかったんだ。みんな、頭の中の空間で考えているふりをしていたけれど、本当に意味のある思考をしていたのは果たして何人いたのか、それはわからない。何せ、ジャストアイデアも出てこない状況だったから。


このタスクは結構重要で、これで計測した結果でビジネスの数字がわかるようなものだった。だから、当時のマネージャは焦っていたよ。


で、閃いたんだね。「なんだ、シンプルに考えれば解決するんじゃないか。」って。閃いた、いや、ほんと直感だった。


当時から既に、複雑なことは分解してみる、とか、原理原則は何?、とか、曲げられないことと曲げられることとか、意識して仕事をしていたんだ。そうした、いろいろな発想の視点をいくつか持っていたことが、そのときのタスクの課題の解決方法を直感として、思考の方法を組み合わせればいいということに帰結するように点と点として結んだんだ。


もし、モノゴトにはいろいろな見方がある、とか、複雑なことは一旦バラしてみる、とか、そうした形式知や経験値がなかったら同だったろうと思う。多分、同じ結果にはならなかっただろう。


もし、思考とは諦めずに考え続けることで、考え続けることは、一つの視点でダメだったら他の視点にさっさとピボットすることの積み重ね、と体感として知らなかったら、やっぱり同じ結果にならなかっただろう。然も、思考をしないのだから、ただ時間を費やすだけ、でしかなかっただろう、って思う。


そう考えると、やっぱりエンジニアが突然湧いてきたような難題を解決するには、それ以前に得た形式知や実際に経験した経験値でしか解を導き出せないんじゃないか、って思うんだ。


無からは何も生み出せない。解を得るのは自分の知からだけだ。