リファクタリング本などの執筆で有名なMartin Fowlerが、CheaperTalentHypothesisという面白いタイトルでBlogエントリを書いている。なかなか興味深いのでご紹介。タイトルを意訳すれば「才能があるほど奴ほど安いという仮説」てなところだろうか。
Although the technorati generally agree that talented programmers are more productive than the average, the impossibility of measurement means they cannot come up with an actual figure. So let’s invent one for argument sake: 2. If you can find a factor-2 talented programmer for less than twice of the salary of an average programmer – then that programmer ends up being cheaper. To state this more generally: If the cost premium for a more productive developer is less than the higher productivity of that developer, then it’s cheaper to hire the more expensive developer. The cheaper talent hypothesis is that the cost premium is indeed less, and thus it’s cheaper to hire more productive developers even if they are more expensive.
CheaperTalentHypothesis
要するにあるプログラマの生産性(これを計ることは非常に難しいことだが)が平均より何倍かあるとして、そのプログラマに払う給料がその「何倍」よりも下だったら、結果的に安い買い物だということ。これは以前にLisp HackerのPaul Grahamも同じことを言っている。
経済的には、この事実は重要な意味を持つ。素晴らしいハッカーに、彼の価値相応のものを支払う必要が無いということだからだ。凄腕のプログラマは普通のプログラマの10倍から100倍生産的かもしれないが、普通のプログラマの3倍も給料をもらえばラッキーだと思ってくれるだろう。
Great Hackers
またMartin Fowlerが以下のように言っているように、生産性の高い少数精鋭のチームには、チーム内のコミュニケーションコストが大きなチームに比べて少なくて済むという大きなメリットもある。これは大規模なソフトウェアの開発に携わったことのある人間ならすぐに理解出来る話だ。Martinの感覚的な数字では、生産性はチーム人数に比して対数的に増加するとのこと。つまり人を4倍に増やすと2倍の生産性が得られるということだ。
The trouble is that that assumption assumes productivity scales linearly with team size, which again observation indicates isn’t the case. Software development depends very much on communication between team members. The biggest issue on software teams is making sure everyone understands what everyone else is doing. As a result productivity scales a good bit less than linearly with team size. As usual we have no clear measure, but I’m inclined to guess at it being closer to the square root. If we use my evidence-free guess as the basis then to get double the productivity we need to quadruple the team size. So our average talent team needs to have forty people to match our ten talented people – at which point it costs twice as much.
CheaperTalentHypothesis
アメリカのソフトウェア企業の給与体系がどのようなものになっているかは知らないが、彼らが生産性の高いプログラマを集めることができ、「その生産性に見合っているがその生産性ほどではない給料」を支払うことに成功しているとすれば、彼らがソフトウェアやインターネットの世界を席巻するのは当然とも言える。そして横並びで物事を扱うことに長けている日本が遅れをとってしまうのも、もしかすると当然の事なのかもしれない。
ちなみに以前開発チーム内で以下のリファクタリング本を輪読したのだが、かなり為になったのを覚えている。「そんなの当たり前だよね」という話も数多く載っているのだが、それが現実にはあまり守られていないのというのもこれまた事実であり、コード書きとして身を引き締める為にもいい読書でした。
追記
引用したエントリの日本語訳がアップされていましたので、追記します。