未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

47歳でデビュー

U-20プログラミング・コンテストの審査員を務めたミラクル・リナックス取締役の吉岡弘隆氏は「今年,ついにLinuxカーネル・コミュニティへデビューした」と嬉しそうに話していた。彼の書いたパッチがAndrew Morton氏がメンテナンスするLinuxカーネルに採用されたのだ。Linuxベンダーがカーネル開発に参加するのは当然かもしれないが,吉岡氏は今年47歳。47歳にしてカーネルハッカーのスタートラインに立った。その目標は「生涯一プログラマ」だそうだ。

http://itpro.nikkeibp.co.jp/article/OPINION/20051017/222923/
本当にラッキーだと思う。ひょんなことで「仕事」でカーネルのパッチを書く機会を得てコミュニティにデビューできた。C言語とちょっとした経験さえあればプログラミングは誰でもできる。プログラミングは体力を使わないので年齢を重ねてもハンディキャップなしに続けられる。わたしはキーのタイプは絶望的に遅いけどCでプログラミングする分にはたいしたハンディではない。3年前には44歳でおじさんプログラマとして未踏ソフトウェアにもチャレンジしたし、これからもがしがし新しいことにチャレンジしていきたい。日本と言う地域もなかなか見捨てたものではないぞ。いろいろチャンスは転がっている。自分の夢に正直になる。大抵のことはどうにかなる。限界を自分で決めるな。

プログラマの仕事

不思議なことに日本ではソフトウェアの生産工程を設計、コーディング、テストなどとわけて上流工程〜下流工程として上流が偉くて下流は偉くない。上流をプロジェクト・マネージャー、コンサルタントが担い、下流プログラマが担う、そして給料は上流が高くて下流が低いみたいな伝説がある。(過度な類型化による議論)
オープンソースの場合設計、コーディング、テストを分業して別々の人がやると言うことはほとんどなくて、一人で設計して、コーディングしてテストしてデバッグしてリリースする。一人が全工程を見るのが一般的である。コーディングと設計は不可分だしテストとデバッグそしてコーディング、設計というのは行きつ戻りつの試行錯誤のプロセスなので分業するメリットは全くと言っていいほどない。コーディングする力がなければどんないいアイデアを持っていてもオープンソースのコミュニティでリスペクトされるのは難しい。コーディングする力があればバザールモデルで多くのアイデア、改良が得られる場合がある。コミュニケーション力、リーダシップがあれば自分のコードを雪ダルマ式に膨らませることができる。
日本のソフトウェア産業の競争力を奪ったのは工程の分離だとわたしは思う。コーディング経験のない人間が設計をしてはいけないし、設計力のない人間がコーディングをしてはいけない。ソフトウェア製品を開発する人間は顧客の要求を理解し、それを外部仕様にまとめ、実装できる(コードを書く)人間でなければいけない。
シリコンバレーの競争力のあるソフトウェアを開発販売している会社の多くは設計者がコードを書く。そしてそうでなくては、環境の変化、顧客の好みの変化、マーケットの変化、とにもかくにも変化に強いソフトウェア製品をタイムリーにマーケットに出すことはできないのである。変化に対応できたチームだけが生き残る。
日本と言う地域に必要なのは評論家面したコンサルタントではなくスーパープログラマだとわたしは思う。