世界中のユーザーに支持されるプログラミング言語「Ruby」の開発者で、日本を代表するプログラマーのまつもとゆきひろさん。「活字中毒」と自らを語るまつもとさんに、故郷・鳥取県の本屋や大学の図書館で過ごした読書漬けの時間を振り返ってもらった。前編 「Rubyの父・まつもとゆきひろを『言語』に誘った本」 に続く後編を紹介する。
大学卒業後にソフトウエア開発者、そしてRuby開発者として活躍されるわけですが、仕事で役立った本を教えてください。
まつもとゆきひろ氏(以下、まつもと):この業界で働くのに役立った本は、『ハッカーと画家』(オーム社)と『ジョエル・オン・ソフトウェア』(同)ですね。どちらもプログラマーが書いたエッセーで、いろいろと参考になりました。どちらかというと、『ハッカーと画家』のほうに共感するかな。『ハッカーと画家』はポール・グレアムというプログラマー、のちにY Combinatorというスタートアップのベンチャーキャピタルを始めた人が書いた本です。一方の『ジョエル・オン・ソフトウェア』は、ジョエル・スポルスキというMicrosoft Excelを最初に開発した一人が書いた本です。
この2冊は、プログラマー目線でいろんな事柄、例えば、プログラムを作るとはどういうことか、とか、モノづくりにどのように取り組んだらよいか、などを説いてくれています。ポイントは、プログラミングやシステムに関することだけでなく、それ以外の領域、例えばマネジメントへの挑戦とか、ビジネスに対する取り組み方なども書いてあることです。
ポールもジョエルも、ともにプログラマーで、自ら会社を立ち上げて経営者になっています。なので、プログラマー精神を持って経営者になるとはどういうことなのか、という内容も書いてある。私は経営者ではありませんが、Rubyの開発コミュニティーにおいてはみなの力を借りて、リーダーシップを執らなければいけないときもあります。そうしたときに、これらの書籍に書かれている内容が役立ちました。
プログラマーの場合、失礼な言い方になるかもしれませんが、目の前にある問題だけにフォーカスして解決することに専念しがちなところがあったりします。けれども現実には、プロダクトオーナーとしての観点であるとか、少し先を見据えて行動するといったことも大事です。
振り返ってみると、私の立場が一人のプログラマーから、コミュニティーリーダーだったり、言語デザイナーだったり、あるいはプロダクトオーナーだったりというように変わってきたときに、これらの本の内容が刺さったという感じですね。
まつもとさんは、産業界や教育界と関わった、ある種社会事業的な活動もされていますよね。例えば、Rubyの普及促進という枠を超えた地域産業活性化や人材育成支援などです。そうした活動で感じる視座の高さは、これらの本で培われたのですか。
まつもと:どうなんでしょうね。割と自分はいびつな人間だと思っているので、視座が高いかどうかはちょっと分かりません。
ただ、こじつけっぽいのですが、もし関係があるとすると、私はクリスチャンで、ずっと教会に行っていることもあり、宗教関係の本もよく読みます。聖書をはじめとする、古い話を読むわけです。例えば2000年前の人間が、賢明だったり、そうじゃなかったりする行いが書いてあるわけですよ。そうすると、人間は進歩してないな、とか思います。こうした宗教関係の本は何度も読み返しています。聖書が世界最大のベストセラーと言われているのはだてではないと思いますね。
また、教会に行くと、当然ですが、IT業界ではない人たちにたくさん会います。まったく異なる世界なわけです。IT業界のヒエラルキー、例えば、すごいテクノロジーを作ったからエライみたいなのは全然関係ない世界です。
IT業界と教会という2つのまったく異なる世界を行き来していると、一方の価値観だけで話ができないことを日々感じます。行き来するごとに観点が変化するというのでしょうか。例えば、テクノロジーだけで何とかしよう、というような発想にはならないわけです。この観点および価値観の相違は、私にとってプラスになっていると思います。
効率や生産性だけを追求するのであれば、一つの価値観、一つのジャンルにフォーカスするのがよい場合もあると思います。だけど、人間ってそういうものではないですよね。いろいろな立場や価値観を知ることは、新たな発想の源になったり、私の場合はコミュニティーの運営に役立ったりするわけです。教会に行っているときに、プログラミングで問題解決したときのアプローチが役に立ったこともありました。異なる領域を行き来してやりとりすることで、双方プラスになり得ると思っています。
私の異なる領域は「プログラミング」と「宗教」ですけれども、人によっては「会社」と「趣味のコミュニティー」かもしれません。一概には言えないと思いますが、価値観がオーバーラップしない領域を確保すると、視座を高めるのに役に立つことが多いんじゃないかな。
観点を意識的に切り替えることは、例えば、プログラマーから開発リーダーになったり、マネジャーになったりしたときにも応用できそうですね。
まつもと:年をとったらマネジメントをする――これはとても嫌だなとずっと思っていたんです。でも最近は、プロダクトマネジャーとかプロダクトオーナーとか、マネジメント系の仕事が多くなっています。手を動かしてモノを作るというより、大局的に判断をしなきゃいけない場面が増える。嫌っていたのに、どうしてこうなったという感じです。
振り返ると、割と流されるまま、こうなってしまいました。最初はプログラマーだけど、Rubyを軸にプログラミングを深堀りしていたら、原稿依頼が来て応えていたら、本の著者になった。それで講演依頼が来て応えていたら、プログラミングだけではなくオープンソース全般、さらにはIT全般の意見を求められるようになった。そうしたら企業から技術顧問の要請が来たり、政府のIT総合戦略本部の委員にもなったり、といった具合です。戦略的に狙ってこうなったわけではありません。
次々と変化が訪れる中で役に立ったのが、先に述べた『ハッカーと画家』と『ジョエル・オン・ソフトウェア』で、プログラマー目線を持ちつつ、さまざまな立場や観点で物事を考えることを学べたのがよかったですね。最近は「プログラミング的思考」と呼ばれたりしますが、私にとって、その原点みたいな本です。
余談ですが、政府の提唱する「プログラミング的思考」はいまひとつ目的がはっきりしない謎な印象を受けますが、教育にプログラミングを取り入れて全体のリテラシーおよび問題解決能力が高まるのであれば、素晴らしいと思います。
立場ということでは、Rubyの開発はいずれ、まつもとさんから若い人主導になりますよね。次世代には、どんな本を読んでもらいたいですか。
まつもと:今も講演で、特に若い人たちにお話しする機会があります。そこではよく2つのメッセージを伝えています。
ひとつは、自分を知りなさい、ということ。私はインベントリ(目録、保有資産)とか棚卸しという言葉をよく使うのですが、自分の個性として何が好きなのか、何が得意なのか、あるいは逆に何が苦手なのか――これらは、自分がモチベーション高く行動するときにとても重要だと思います。私はプログラミング言語が大好きだったので、10年でも20年でも頑張れたわけです。なので、自分が何に対してモチベーションを高く保てるかを知っていると、さまざまな局面で正しい判断ができるのではないかなと思います。
もうひとつは、自分で決めなさい、ということ。私たちの判断って、最終的には自分が決めているように思えたとしても、特に若いときには、親や先輩、上司というような、他人の判断を追認しがちなんですよね。
しかし私は、結局他人は無責任だと思っています。例えば、まつもとが講演で何々しなさいとアドバイスしたとして、そのアドバイスに従っても成功しなかったじゃないか、どうしてくれる、と言われても困るわけですよ。そういう意味だと、他人であるまつもとは基本的には無責任です。
これは、他人なら誰でも同じです。親もそうだし、先輩もそうだし、上司もそう、責任を取ってくれない。そうなると、自分で納得して決めることが必要です。納得しないで決めたときには、最終的にそれをしなさいって言った人に責任を押し付けたくなるじゃないですか。おまえがそう言ったからこんなになったけれど、どうしてくれると言っても、もうどうにもならない。
失敗するにしても成功するにしても、自分が納得して決めたならばしょうがない、再チャレンジしよう、となるわけです。
なるほど。まつもとさんがこの本がオススメと言うからその本を読むというのでは、ダメですね。
まつもと:本は何冊でも読めるからいいんです。でも、人生は一度しかできないし、職業もそう変えられないですからね。
読書は自分の経験を超える知恵を与えてくれると思います。そういう意味で、Ruby 開発の後継者を含む若い人たちには、興味の赴くままに自分が読みたい本を、できるだけたくさん読んでほしいですね。
取材・文・写真(書影)/田島 篤(日経BP 第2編集部) 写真(人物)/まつもとさん提供