一番の下手くそでいよう

photo by NRK P3

はじめに

"情熱プログラマー ソフトウェア開発者の幸せな生き方" という本を少し前に読みました。

2-3ページのコラム形式の話題が50ほど含まれるもので、それぞれの話題が様々な角度からソフトウェアエンジニアを捉えるものとなっています。

今回は、この中でも印象に残っているエピソード"一番の下手くそでいよう"を紹介したいと思います。

情熱プログラマー ソフトウェア開発者の幸せな生き方

情熱プログラマー ソフトウェア開発者の幸せな生き方

一番の下手くそでいよう

英語で言えば"Be the Worst" 。平たくいえば、あなたが一番の"下手くそ"になるチームに属しないさい、ということになります。

本の中では筆者のジャズ演奏者(筆者であるChad Fowler氏はジャズ演奏者からプログラマーに転向)時代の経験で、自らよりいくつもレベルの高い奏者たちとのセッションをこなすことで、演奏のスキルが大きく向上した経験を述べています。

また同時にソフトウェアエンジニアとして、インドに長期間出張した結果、(ネイティブ話者にもかかわらず)英語のレベルが落ちる経験もしているとのこと。

つまり、自身のスキルレベルは周囲の環境に(上にも下にも)ある程度引っ張られる

これは、直感的にも経験的にも納得のいく法則です。

高いレベルの人たちと一緒に何かをすると、一定の期間を共にすることが前提ですが、その高いレベルの人たちの行動や思考ルーチンをある程度自分の中に取り込むことができます。

本の中では次のように書かれています。

チームで一番下手くそでいるのは、バンドで一番下手くそでいるのと同じ効果がある。どういうわけか自分自身が賢くなるんだ。話し方や書き方さえ以前より知的になる。自分の生み出すコードや設計が以前よりエレガントになり、難しい問題をますます創造的なソリューションで解決できるようになる。

ただこれはよくよく考えると、学習の最も基本的な方法の一つですので、これだけではそれほど特別な驚きがあるわけではありません。

では、私がこのエピソードに印象づけられたのはどのような点かというと、タイトルにもなっている"一番の下手くそでいよう"とういフレーズです。

一番の下手くそでいる=よりレベルの高い集団に自ら飛び込む

自分が一番の下手くそである集団にいても、時とともに成長を重ね、ある日気が付くと真ん中かそれより少し上の位置にいるかもしれません。

また、新入りが入ってくることで、自動的に一番の下手くそで無くなることもあるでしょう。

つまり、"一番の下手くそ" で在り続けるためには、自分と周りをよく把握し、適切に自らのポジションを移動させていかなければならない、ということになります。

"一番の下手くそでいよう"というフレーズには、自身の成長に合わせた積極的な行動を善とする力強いメッセージが含まれていると感じました。

一番の下手くそでいるためには

しかし、会社勤めの人間にとって、自身のポジションを思うように動かすことは大変難しいという実情もあります。

本の中ではその点にも言及し、そのためのソリューションも提示してくれています。

それはオープンソースプロジェクトへ参加することです。

つまり、自分が目標とする技術者が多く在籍するオープンソースプロジェクトへ積極的に参画することで、"一番の下手くそ"環境を得ることができるということです。

まとめ

"一番の下手くそでいよう" と心がけ、自身のポジションを適切に移動させていくことで、よりレベルの高い人達の知識・経験を吸収するチャンスが増えます。

"一番の下手くそ"でいるのは会社でなくても構いません。オープンソースプロジェクトに参画することは、会社とは関係なく、"一番の下手くそ"環境を得る手っ取り早い方法です。