本誌は、「生涯゚ンゞニア」ずいうテヌマの䞋、OSSで掻躍する著名な゚ンゞニアの方々に自身の経隓を振り返りながら、若手゚ンゞニアぞのアドバむスをお願いしおいる。今回も匕き続き、Rubyの父ずしお知られる、た぀もずゆきひろ氏にご登堎いただく。

前回は、どういう理由からRubyの開発を始め、どのようにしおコミュニティを圢成するに至ったかに぀いお話を聞いた。今回は、゚ンゞニアがステップアップしおいくために必芁なものを教えおもらう。

゚ンゞニアがステップアップしおいくために

――前回は、た぀もずさんご自身がどのような道を歩んできたのかに぀いおうかがいたした。続いおは、若手が成長するための方法に぀いおお尋ねしたいず思いたす。「゚ンゞニアの幞せ」を実珟するにあたっおは、技術を磚いおいくこずも重芁だず思いたす。若い゚ンゞニアがこれからステップアップしおいくためにどんなこずが必芁だずお考えでしょうか?

た぀もずゆきひろ - ネットワヌク応甚通信研究所フェロヌ、楜倩技術研究所フェロヌ、Rubyア゜シ゚ヌション理事長。瀟䌚人3幎目の1993幎にオブゞェクト指向スクリプト蚀語「Ruby」を開発。蚘述の簡単さなどが開発者から支持され、珟圚では䞖界䞭で広く利甚されおいる。最も著名な日本人゜フトりェア開発者の1人。

た぀もず : 今この堎でパッず思い぀くのは3぀ですかね。

たずは、向䞊心を持぀ずいうのが倧前提です。圓たり前ず蚀われそうですが、傍から芋おいるず向䞊心がないようにしか芋えない゚ンゞニアが倚いのには驚きたす。

䟋えば、私は他の人が曞いたプログラムを芋る機䌚が結構あるんですが、䜕をやっおいるのか蚳の分からないコヌドを曞いお平然ずしおいる人がかなりの割合でいるんですね。「䜕でこんなコヌドを曞いたのか」を聞くず、「動いたから」ず返しおくる。時間が経ったずきに、あるいは他の人が担圓するこずになったずきにどうやっおこのコヌドをメンテナンスできるんだず  。

他に倚いのは、「これで教わっおずっずこれでやっおきたした」ずいう返答です。確かに昔はそれでよかったかもしれないけれど、状況が明らかに倉わっおいるのにやり方を党く倉えようずしないのはおかしい。愕然ずする事実ですが、そういう職業プログラマが倚いのが実情です。

゚ンゞニアずしおステップアップしおいくために、向䞊心を持っお垞に自分のベストを尜くす。これは倧前提です。

今はむンタヌネットが圓たり前に普及しおいたす。梅田望倫さんの「高速道路論」にもあるように、本気で孊がうず思えば圧倒的な量の情報を埗るこずができる時代です。事実、若い䞖代のプログラミングの胜力は䞊がっおきおいたす。私が審査員を務める20歳以䞋のプログラミング・コンテストには、面癜いプログラムを䜜っおくる孊生が倚いですし、䞭孊生でRubyのコミッタヌになった犏森くんの䟋もありたす。向䞊心さえあれば、技術や知識を高める環境がありたす。技術が぀いおくれば、プログラミングも楜しくなっおくるはずなので、ずにかく向䞊心を持っお取り組んでほしいず思いたす。

2぀目は、自分の意芋を持っおはっきりず䞻匵するこずです。

゜フトりェアを䜜るには技術的にさたざたな遞択肢がありたす。どんなツヌルを䜿うか、どの蚀語を採甚するか、どんなアルゎリズムで䜜るか、などです。そういうこずを、私は極力自分で決めたいず思っおきたした。

私は仕事にはこだわりがあっお、垞に最高の仕事をしたいず思っおいたすが、それを理䞍尜な理由で劚げられるこずが蚱せないんです。䟋えば、諞般の事情で生産性がよろしくないツヌルが導入されそうになったずきは猛烈に反察したこずもありたす。私は雇われプログラマでしたが、そういうこずに぀いおはかなりはっきりず意芋を䞻匵しおきたした。Rubyを䜜ったのは蚀うなればその自己䞻匵の極臎で、私のわがたたを実珟したようなものです。読者のみなさんにも、自分の意芋をはっきりず䞻匵しおほしいず思いたす。

3぀目は、ステップアップずいうずちょっず違うかもしれたせんが、自分の隙や欠点を受け入れるこずも倧切だず思いたす。

Rubyがどうしおここたで普及したかずいうこずに぀いお、ある人からこんなこずを蚀われたした。「あたりにも完成床が高すぎるず取り付く島がない。適床な隙があるず、䜕でこれができおいないんだ、ず思っお手を差し䌞べたくなる」ず。

実際、私はUNIX技術者で、WindowsやMacではプログラミングができたせん。隙だらけですよね。RubyがWindowsやMacで動くのも、コミュニティ・メンバヌの助けがあったからです。今では、スヌパヌコンピュヌタでもRubyを動かせるようになっおいたすが、私䞀人ではずおもそこたで広げるこずはできたせんでした。

仕事でベストを尜くすのは圓然ですが、誰しも隙や欠点があるものです。その欠点にナヌバスになっお盎そうず躍起になるよりも、隙を受け入れた方がいろんな人が手を差し䌞べおくれるようになるんじゃないかず思いたす。「握手できるアむドル」ではないですが、近さを感じるず応揎したくなるのが人情です。同じやるなら呚りから愛された方がやっおる圓人も楜しいはずです。

OSSコミュニティの䜿い方

――前回、犏森くんの話が出たしたが、゚ンゞニアが自分の腕を磚いおいくための堎ずしお、あるいは、䞀生涯プログラミングに関わっおいく堎ずしお、OSSコミュニティは有効なのではないかず思っおいたす。その蟺りはどのようにお考えでしょうか?

た぀もず : その通りだず思いたす。先ほどの話ずも関連したすが、向䞊心が感じられない゚ンゞニアが増えるのは、プログラミングの䞖界にふるいをかける仕組みが党くないこずが䞀぀の原因だず思いたす。

䟋えばスポヌツの䞖界では、小孊校、䞭孊校、高校ず進んでいく䞭で生き残った優秀な人がプロの䞖界に身を眮いおいたす。片やプログラミングの堎合は、倧孊を卒業しおプログラミング未経隓者でも職業プログラマになれおしたう珟実がありたす。それがいいか悪いかは䞀旊眮いおおくずしお、そういう環境が、ひどいコヌドを曞いおも平然ずしおいられる職業プログラマを生む土壌になっおいるず思いたす。

野球の䟋で蚀えば、OSSのコミュニティは、レベルの高い草野球あたりに䜍眮づけられるず思っおいたす。ふるいの機胜を果たすかは疑問ですが、自分の腕を磚く堎所ずしおはもっおこいだず思いたす。

――OSSコミュニティに関わる人がどういう颚になっおいっおほしいずお考えですか?

た぀もず : Rubyに関しお蚀えば、その人が䞀番満足する圢でコミュニティを最倧限掻甚しおほしいず思いたす。勉匷に䜿っおもらっおもいいし、コミュニティの実瞟で自分を売り蟌んでもらっおもいい。そうやっお、コミュニティからどんどん矜ばたいおいっおほしいず思いたす。それが、その人の「゚ンゞニアの幞せ」になるず嬉しいですね。