プログラマの生産性って

SoftEther登大遊さんのブログで「論理的思考の放棄」というエントリ。
http://d.hatena.ne.jp/softether/20070324#p1

登さんは一日に多いときは10,000行ものコードを書くという。その方法について「論理的に考えないこと」とのこと。

僕は会社に入ってから本格的にプログラミングをするようになった職業プログラマだけど、これは感覚的に理解できる。職業プログラマの多くも身に覚えがあるんじゃないかな。半ばトランス状態でコードを書き続けるような経験。こういう時にはガッツリ高速に大量に高品質のコードを書くことができる。10,000行も書くのは無理だけど。

「こういう時」には共通点があって、それは深夜か休日に仕事をしてる場合に限られるということ。普段の仕事時間にこの集中力を発揮することができた試しは無い。日本のプログラマの標準的な作業環境は、平均的な能力のプログラマに集中することを許さないようです。(うるさ過ぎ。割り込み仕事多過ぎ。)

あと、出来るだけ自分の裁量で設計からコーディングまで一人で担当してる状態であること。チーム化して分業すればするほど、文書化だったり言語化だとか、調整だとか、壁がはだかります。

もう一つ条件を挙げるなら、得意な分野のプログラミングであること。当たり前ですけど。平均的な日本のプログラマは、個人の適性とかあまり考慮されずに、とりあえず来た仕事に突っ込んどけばいいだろう、みたいな話で売られたり。やあねえ、もう。そういうことも稀に無くはないらしいので。

とにかく、僕が言いたいのは、普通のプログラマだって小規模ながら同じことが出来る(条件さえ整えば)、ということです。てゆうか、プログラミングに限らないよね、多分。