■結論
優秀なプログラマーは、普通の言われたことしかやらないプログラマーよりも、100倍価値がある。
普通のプログラマーは、お客さんから言われたことしか対応できないため、あれこれ細かいことまで伝えないと動いてくれない。
作ったプログラムもバグが多い。
一方で優秀なプログラマーは、お客さんの言っていることを受け止め、さらにそれ以上の形の提案をしてくれる。
そして作るプログラムは高品質である。
ただ、発注者側からは、そのプログラマーが優秀な人なのかどうかの判断が難しい。
なので最初は小さな仕事を発注し、一緒に仕事をしてみてから判断するのが賢明だ。
そして優秀なプログラマーであることがわかったら、高単価であってもできるだけ発注しつづけよう。システムが高品質になっていく。
■ツイート内容
100人月の言われたことしかできない単価80万円のプログラマーたちの工数よりも、1人月のなんでもできる単価2000万円のプログラマーの方が、費用対効果は格段に高い。
でも発注者は単価の高さにビビって2000万円のプログラマーには発注できない。100人月のプログラマーたちに発注し炎上する。
大型プロジェクトが失敗する際に、よくやるアカン対応の1つ。
いかに優秀なプログラマーを雇えるかが重要なのに、単価の高さに雇うことを躊躇してしまう。
結果炎上し、さらなる期間と工数を投入するとことになって結局はコスト高になる。
それでもプロジェクトが終わってシステムが動けばまだよい。
優秀な人に優秀だからといって、いろんな仕事を任せてしまうと、どうでもいいことに疲弊して優秀さが発揮できなくなってしまう。
優秀な人には重要で得られる成果が大きいことだけを任せて集中させておかないといけない。
大企業では、その見極めと優秀な人の使い方がわかってないから、生産性が低い。
■根拠
今までいろいろな企業に発注をしてきた。
結局、成果物の品質の良し悪しは、良いプログラマーやシステムエンジニアが関わっていたかによる。
一般的なプログラマーやシステムエンジニアは、お客さんの言ったことを忠実にシステム化するだけである。
悪い言い方になるかもしれないが、要は言われたことしかやらない、ということ。
もちろん建前的には、お客さんが業務要件を明確に定義して、それをベンダーに提示しなければいけない。
だが、お客さんはITやシステムに詳しいわけではないのだから、システム側からお客さんの言わんとしていることを読み取らなければいけない。
お客さんの言っていることをくみ取って、それを上手く翻訳していかにシステム化するか、それができる人が優秀な人である。
そういった人は単価は高いが、十分払うだけの価値がある。
変に発注額をケチって採用し、中途半端な人しか獲得できなかったとなると、目先のコストとしては抑えられたことになるが、たいてい後からしっぺ返しがくる。
高単価であっても優秀なプログラマーやシステムエンジニアは雇っておくべきである。