どんなにがんばって教えても伸びないプログラマーの比率

プログラマーの成長を考えないSIerの仮説は間違っている - 達人プログラマーを目指してに対して、

センスとやる気があるプログラマの方が20人に一人もいないに一票

というような意見をたくさんの方からいただきました。私の文章力のなさで多くの人に誤解を与えてしまったかもしれません。ここで私が言いたかったことはプログラマーはきちんと指導すればほぼ確実にレベルアップするということであり、どんなに優秀なプログラマーとペアを組ませて指導してもまったく実力が伸びない人はほとんどいないということでした。
類は友を呼ぶということで、私の周りには自然とプログラミング好きが集まってくるということがあるのかもしれませんし、一般的には20人に一人というのはちょっと大げさだったかと思いました。*1ただ、私とペアプロした人は多くの場合きれいなプログラムの価値を理解してくれ、最初は見よう見まねでやっていますが、徐々に自発的にきれいなコードを書くようになっていくということはいままで何度か経験しています。
まあ、好きこそものの上手なれということで、変な規約を強制され、仕事としていやいやプログラミングさせれられる環境ではまさに、20人に一人もやる気を出すプログラマーがいなくなるというのは事実でしょう。また、先のエントリでも書いたようなアーキテクトが不在で、全員烏合の衆で開発していたらもちろん成長しないでしょう。
どんなスキルでも「才能」と「環境」があって初めて活用できるということだと思いますが、多くの場合潜在的な才能があっても、それを活かす環境が与えられず、努力して勉強しようという気にならないという点に注目すべきです。日本人の場合、英語力などは確かに障害となり得ますが、(多くの日本人がオブジェクト指向プログラミングを苦手とするのは英語アレルギーだからか? - 達人プログラマーを目指して)もともとその人の才能がなくてどんなに努力してもスキルアップしないというケースはレアでは。確かに誰でもプログラマーになれるかというとそれはないと思いますが。

*1:プログラミングの書籍の著者はプログラミング好きでネット上のOSSのコミュニティに参加している人もプログラミング好きなので、世の中プログラミング好きがほとんどなのかという錯覚を起こしやすい点には注意しなくてはならない。