世界的に普及したプログラミング言語「Ruby」の開発者。
現在は、Rubyアソシエーションの理事長や、株式会社ネットワーク応用通信研究所フェロー、楽天株式会社楽天技術研究所フェロー、Herokuチーフアーキテクトとして国内外で活躍している。
Ruby開発者まつもとゆきひろ氏へのインタビュー後編では、オープンソースへの思いについて聞く。
まつもと氏はソフトウェアエンジニアがもっと幸せになってほしいと願っているが、オープンソースはそのための強力な「武器」になる。
- ──Rubyには、まつもとさんが関わる本流のCRubyの他にも、代替実装がたくさんあります。つい先日も「Topaz」というPythonで実装された処理系が話題になりました。こうした動きはどう見ていますか?
-
「変なもの」は大歓迎です。新しい試み、POC(Proof-of-Concept、概念を実証する試み)は、実用的なVMを作っている人の刺激になりますから。
もともと、Java以前には、VMやインタプリタを使うプログラミング言語は遅いのが当たり前でした。ところがJavaは仮想マシン高速化の手法を取り入れてどんどん速くなっていった。VMを使う言語でも速くなることを実証した。これが刺激になって、他の言語でも「速くしよう」という動きが出てきました。Ruby言語も一時期は「遅い」と言われていましたが、(VMが置き換わったことにより)最近はもうあまり言われなくなりました。
- ──プログラミング言語の高速化のような試みは、長期的な研究開発が必要だと思います。ただ、今の多くの企業では長期的な取り組みが難しくなっていると思います。オープンソースプロジェクトとして新しい試みに取り組むやり方の重要性はより高まるのではないでしょうか。
- 学術的な研究となると話は別ですが、オープンソースは今までとは違う開発のやり方として定着してきたと思います。
特に、(オープンソースプロジェクトに)参加するコスト、維持するコストが下がってきたことが大きいですね。
本業がある人もすき間の時間で、自分ができる範囲で参加しやすくなった。
- ──オープンソースプロジェクトに参加しても、金銭的な見返りがあるわけではないですよね。それでも参加する人が後を絶たない理由はなんでしょうか。
- 例えばですが、Rubyのプロジェクトに参加してメジャーコントリビュータになれば、有名になって、上司からの扱いが変わる可能性もありますよね。転職もできる。
今までは、仕事は会社から与えられるもので、面白い仕事が当たればラッキーだけどそうじゃない場合もあったわけです。ところが、オープンソースの活動で自分の名前が表に出れば、今までとは違って「武器」を手に入れることができる。
会社とエンジニアの関係をもっと対等にしたいと思うんですよ。エンジニアは会社に価値を提供して、その対価をもらう。でも、組織と個人の間では対等な関係の維持は難しいですよね。そのとき武器になるのは、大学で勉強したコンピュータサイエンスの知識であったり、オープンソースソフトウェアへの取り組みであったり、ということになると思います。
私自身は恵まれていたと思いますが、人をハッピーにしないような職場もまだまだあると聞きます。同僚のプログラマがかわいそうな目に合う様子も見てきました。エンジニアは我慢しない方がいいですよ。
現状では、エンジニアの人で自分たちの地位を高めるために声を上げる人があまりにも少ない。幸い、私の所にはいろいろな人が話を聞きたいと言ってくれるので、機会があれば、そういう話をさせていただいています。 - ──まつもとさんのお話には、人間的な側面の話がたくさん出てきます。
- ソフトウェア開発分野は、放っておくとソフトウェア工場とか、人間を部品として扱ってしまう方向に向かいがちです。放っておくと暗い未来に向かう可能性が高まってしまう。
幸い、Ruby開発者ということで私はちょっとは影響力があるらしい(笑)。そこで、「そうじゃない未来」が欲しいと、大声で言わないと、そう思っています。暗い未来は嫌なので。 - ──オープンソースへの取り組みはエンジニアにとって強力な武器になるわけですが、これからオープンソースに関わる人へのアドバイスはありますか?
- オープンソースプロジェクトはたくさんありますが、共通項は少ないと思います。あえてソフトウェア開発者にとっての共通項を探すと、一つ言えるアドバイスは「コードを読む」ことです。
今では、たいていの種類のソフトウェアはオープンソースになっていて、ソースコードが手に入ります。ソースコードを見て、ある機能に興味があったとき、自分が実現するとしたらどう実現するかを知る。そうした「知る」ための能力は、エンジニアの武器になります。優秀なソフトウェア開発者は、だいたいソースを読むことが好きだったり得意だったりします。
私自身は、昔はEmacsのコードをよく読みました。あとは、他の言語処理系のコードなどですね。そうやって自分の興味の持てるところを伸ばしていくことが、武器になります。
アウトプットも重要です。開発者系のイベントで発表するなど「重要人物」と見られる人がいますが、そうした人の能力は、ソースコードを読む能力や書く能力で普通の人と極端に差があるわけではありません。それでも、成果物を世の中に出して、オープンソースソフトウェアにコントリビュート(貢献)して、名前を出せる人は伸びます。力を持つようになります。
例えば、ソフトウェア開発者という観点から見れば、僕より優秀な人は山ほどいます。だけどRubyの中では私のポジションは高い。それは一番先に意見を言って、アウトプットを出し続けているからです。 - ──ありがとうございました。
「エンジニアの未来が袋小路に陥らないよう『多様性』の重要性を言い続ける」:インタビュー前編へ戻る
まつもとゆきひろインタビュー
「エンジニアの未来が袋小路に陥らないよう『多様性』の重要性を言い続ける」(前編)
「オープンソースへの取り組みはエンジニアにとって強力な『武器』になる」(後編)
Ruby言語開発者 まつもとゆきひろ 氏
「Perl開発者コミュニティと関わり、エンジニアとして大きく成長できた」
株式会社ディー・エヌ・エー 嶋田裕二 氏
「ギークアカデミー」 へ戻る
エンジニア特有の転職成功ノウハウや市場動向をご紹介 |
||
インフラ領域特有の転職成功ノウハウや市場動向をご紹介 |
||
クリエイター転職特有のノウハウ・事例などご紹介! |
||
先端を走る技術を、ギークに学ぶ |
簡単登録で最新の転職情報、
希望の求人が届く