kbigwheelのプログラミング・ソフトウェア技術系ブログ

プログラミング・ソフトウェア技術系のことを書きます

正しい意思決定(判断)の価値

disclaimer

以下の文章は私個人の意見であり、特定の企業や人物を揶揄する目的のものではありません。

本文

僕はプログラミングが好きでずっとプログラミングをやっていたせいか、エンジニアで手を動かさない仕事の価値というものが長いことよくわからなかった。 8年ぐらいのエンジニア生活の中で、合理的で効果的な意思決定がなされたシーンを実感してこなかったこともその一因かもしれない1

だからいわゆるアーキテクトや上流過程というものを結構長いこと軽視していたのだけど、以前こんなことがあった。 過去のある時点でAWS上にEC2で動くアプリケーションを作ったのだけど、実はそれに相当するサービスが開発開始当時からAWSに存在した。 そちらを使えば内製するより運用費が安く、4~6人月を投資する必要がなく、保守の手間も全くかからなかったことが発覚したのだ。

言い換えればこのアプリケーションを自分たちで作ると判断した人間は数千万をドブに捨てたわけだ(AWSについての知識がなかったがために)。 だから、(もちろん考え方にもよるが)このときAWSのサービスを知っておりそれを使うという判断が出来たら数千万円を使わずに済んだことになる。

これに気づいたとき、僕はこの意思決定には数千万円分の価値があったと言えるのだろうか?とふと思った。

こんなことがあってから、僕は意思決定についての価値をもう少し考えるようになった。 現在自分が行おうとしている意思決定がどれくらいのコストを生むか(一時的コスト・継続的コスト)、それが将来的にどれくらいの利益を生むか(短期的な利益・長期的な利益)。

そうして考えながら仕事中に意思決定をしていると、この意思決定というものが思っていた以上に危険なことがわかった。もちろん会社がどの分野・どの部署・どのプロダクトに投資するのかといったことは重要な意思決定なのは自明だが、僕のような平のエンジニアでさえ、何気ない判断で会社に長期に渡って数千万、数億の損失を生む意思決定ができてしまう。

ソフトウェアエンジニアの間違った意思決定の多くの場合現金ではなく、将来のエンジニアリングコスト(人・時間)であるため計測しづらい。結果的に多くの会社でそういった損失は計測を行わず振り返りも反省もなされない2。そのため大手IT企業などでも正しい判断基準を持たずランダムウォークするようなアーキテクト・マネージャが散見され、数億や数十億以上のコストを見えずに垂れ流したりあり得たはずのサービスの可能性を潰したりしている。

そう考えると、もし意思決定を適切・慎重に正しく行えるものがいてその人物が継続的に意思決定を行えば会社はたくさんの潜在的損失を回避できることになる。 僕は従来マネージャや管理職・アーキテクトといった立場の人間を軽視していたが、上のような人物がいればその利益は計り知れない。

それこそ業務時間の90%でコードを書いて残り10%で間違った意思決定をしてしまうプレイングマネージャーよりも、業務時間の98%寝ていても残りの2%の時間で正しい意思決定をしてくれる優秀なマネージャーははるかに会社へ貢献していることになる。

だから、僕は相変わらずコーディングが好きなことは変わらないけども、最近は自分の意思決定そのものや自分以外の意思決定する人物・役職のことを見直している。 果たしてその意思決定(者)が本当に正しく、長期的に見て正解だったと言えるかどうかを。


  1. むしろ記憶に残っているのは知識の足りていない人間が間違った方向に意思決定してしまった場面ばかりだ

  2. 余談だが、そのため一部のエンジニアは意識的か無意識的かわからないが間違った意思決定のツケを払う数年後には転職していなくなってしまうようなことが常態化している。ウェブ業界では特に顕著だ