プログラムはプロセスで組むんじゃない。ひとりひとりの技術者が組むんだ

2005-08-13より.
いやー,いいこと書いてあります.

要するに開発を成功させるためにはプロセスをごちゃごちゃいじくるよりプログラマの「フィジカル」の強さを上げることの方が大切なんじゃないかと思うわけです。
アジャイルとかXPとかやわらかいプロセスだと、よりプログラマのフィジカルっていうのが求められると思うんですね。平鍋さんのお話とか聞いてても、同じやり方で成功させるためには「平鍋さんとその仲間たち」レベルの技術者が必要だよなぁとか。

自分の趣味の将棋に当てはめて考えてみます.
将棋というのは,ルールを覚えるのは簡単とはいわないけど,そんなに難しいものでもないです.しかし技量の差がこれだけ出るゲームは他にありません.
例えば自分の実力はたぶんアマチュアの三,四段くらいですが,このレベルになると
一般の将棋ファンにはまず負けません.
しかしアマチュアのトップクラスの人にはまず負けてしまいます.
で,そういった人たちとプロの将棋棋士で比較すると,最近はアマチュアもずいぶん健闘していますが,それでもまだまだ壁がある感じ.
さらにプロの中でも強弱があって……って感じなんですね.


で,そういったことってプログラマにもそのまま当てはまるのではないかと思います.
プログラマ間の技術格差は経営者層とか世間一般が思っている以上に大きいぞと.
言語を知っているとか覚えるって,たいしたことではないんです.
言語の使用歴については微妙なところもあるけど,長ければいいってもんでもないし.
センスというのもあります.
センスは最初から持っている人もいますが,ある程度数をこなすことで磨かれる
ものでもあります.そして,なかなか芽の出ない人もいます.


うちの会社では技術力強化って名目で資格取得を奨励してます.
資格を取って本当に技術力強化になるんでしょうか?
まあ無駄とはいわないけど,もっと大事なことがあるんじゃないかって.
ただ,きしださんのブログにあるとおり

  • 「フィジカル」のトレーニングっていう(カリキュラムを作る)のは難しい
  • 組織としてそういう(「フィジカルトレーニング」のような)活動ができるのか

というのが難問です.
資格だと履歴書・職務経歴書に書きやすいですが,フィジカルの強さって
書きにくいっていうのがあって,組織としてはどうしても分かりやすい
資格にいってしまうんでしょうけど.


さて,否定的な結論で終わるのもアレなので,
フィジカルを鍛える方法として使えそうなもの

というのはどうでしょうか?(前半で将棋を例にしたのは,これの布石)
やっぱりプログラムを組むことが上達の秘訣であることは間違いないし,
勝ち負けがあったほうがやる気になると思うんですよ.
それと,人の書いたプログラムを見るのも勉強になるし.
いいと思うんだけど……どうですかねぇ