いつまでもプログラミングを楽しむために
◆プログラミング能力は経験に比例して伸びるけれど
3日続けて徹夜ができるかどうかはさておき、プログラミングの腕が年を重ねるほどに落ちてくることはない。年配の技術者のプログラミングの生産性が以前と比べて低下しているとしたら、それはたんにプログラミングの現場から離れているゆえだ。適性に欠けているのでもない限り、経験を重ねるごとに処理要件の理解力も高まるし、必要なロジックをコーディングするための知識も増えて、プログラミングの生産性は向上する。筆者が尊敬するある社長さんは60歳代だが、「Javaなんて簡単な言語だよ」なんて言いながら誰よりも手早くプログラムを書いてしまう。
とはいえ、他人が立ち上げたプロジェクトに配属される形で稼ぐプログラマにとって、現実は想像するほど単純ではない。本人がどれほどプログラミングが好きでも、それを続けさせてもらえない(あまり語られない)理由がある。年を重ねるたびに「管理系の仕事」が増えてゆくからなんてありきたりの話じゃない。
何年か前、いっしょに仕事をした40代のフリー・プログラマが嘆いていた。「書類審査の段階で年齢ゆえに落とされることが多くなってきた」というのだ。上述したように、年を重ねたからといって生産性が落ちるわけではない。技術力も経験も豊富ならばベテランをメンバーとして起用して、プロジェクトを成功させればいいじゃないか。不合理な話だ。そのときはそう思ったのだが、その直後に筆者自身が身をもってその「合理性」を理解した。
◆プロジェクトリーダーが年下であることの意味
筆者はあるプロジェクトにちょっとした役割(プログラミングでも分析・設計でもなかったが)で短期間関わる予定だった。その前に、元請けの大手SIerでの面談に臨んだ。いちおう「採用面接」ではあるが形式的なものと思って気楽に受けたのだが、翌日に不採用の知らせを受け取った。
不採用の理由は「プロジェクトリーダーが、年上のメンバーとは仕事をやりにくいと言っているから」というものだった。これには驚いた。以前には見えていなかった「社会の常識」を突きつけられた思いがした。
しかし考えてみれば、同じ立場であれば筆者もそのように判断したかもしれない。能力が違いすぎないのであれば、自分より若い技術者をメンバーとして起用して、リーダーとして気兼ねなくふるまって自分の実力を発揮したい。それは、年齢の上下関係に敏感な日本文化の住人ならごく自然で「合理的」な感情だ。だから、筆者はその若いリーダーを責める気にはならない。むしろ、はっきり伝えてもらったことに感謝している。
そう。「プログラマであり続ける」ということは「いつか、配属されるプロジェクトのリーダーよりも年上のプログラマになる」ということなのだ。そして、プロジェクトの人事権をもつリーダーが、年齢にまったく関係なく有能な技術者を起用するような啓(ひら)けた人物ばかりとは限らない。特に日本ではそうだ。ゆえに、プロジェクトに参加したくてもできない可能性が、年を重ねるたびに少しずつ高くなる。書類審査で落とされるようなことも増えるだろう。社内で編成されたプロジェクトであればそんな理由で参加を断られることはなさそうだが、それは裏返せば年上のメンバーに気兼ねしているプロジェクトリーダーがいるかもしれないということだ。
読者は黙っていても仕事の依頼が絶えない有能なプログラマで、こういう心配とは一生無縁なのかもしれない。けれど、傑出した能力や強力なコネなしで「プログラミングさえやれたら自分は満足だ」と考えているとしたら、とりあえずこの冷酷な現実は知っておいたほうがいい。ではどうしたらいいか。
◆プログラミングを心楽しくやり続けるために
(1)部門のマネージメント
(2)プロジェクトの企画や管理
(3)リーダーよりも年上であることが自然な仕事
これらのどれか、またはいくつかを担当できるようになっておきたい。ちなみにシステム設計の仕事は(3)に分類される。半分冗談だが、この仕事は若いとかえって信頼されないところがある。それは実務経験の量が重要視されるからだ。年をくっていても経験豊富とは限らないが、若ければ経験が少ない(と思われる)のは確実だ。
そして、これらのスキルのバリエーションを持っていることが、プログラミングを心楽しく続けるためのコツでもある。システム設計も面白いが、筆者はプログラミングも大好きだ。ある意味ではプログラミングの楽しみを享受し続けたいがために、システム設計のスキルを磨いているといってもいいくらいだ。冒頭で説明した辣腕プログラマが設計者でもあり社長でもあるのも偶然ではない。
だから、読者がプログラミングが好きでずっとそれをやっていきたいと思うのなら、それ以外の、相乗効果をもたらすような専門技術を身につけることをおすすめしたい。「システム設計」はそのような魅力的な選択肢のひとつだ。
| 固定リンク
コメント
オフショア開発だと、向こう側のプログラマのプロフィールは一切、気にならないですねぇ。
多分、若手が多いんだろうなというイメージはありますが、イメージだけですからね。
いっそ中国やインドに行って、向こうで日本からの案件の開発リーダーやるってのも手かと。
それと、必ずしも一般化できないでしょうが、私の場合は協力会社の年上の人を「使って」いました。
ただそれは、同じ協力会社と長く仕事をして、その方からモノを教わる立場から始まり、ある程度信頼関係や互いの契約関係、引き受けるべき責任や役割が暗黙のうちに共有できたから、互いに安心して仕事ができた、という特殊事情だと思います。
投稿: 市井賢児 | 2005.03.12 11:53
すばらしいを経験をされましたね。協力会社の先輩方もプライドを持ちながら市井さんに「使われる」ことができたと思います。誇っていい経験ですね。
願わくはそのような貴重な体験を経ることなしで「啓けたリーダー」がふつうに増えてほしいと思います。
投稿: わたなべ | 2005.03.12 18:01