仕事ができる人の習慣を知りたい。Ruby開発者・まつもとゆきひろさんの場合

 良い習慣は人を作ります。長期間、継続的に行っていることはその人にプラスの影響をもたらす良い習慣と言えるでしょう。本連載では社会の第一線で活躍する先輩たちに、20代の頃から今まで継続している良い習慣を10個紹介していただきます。

 今回はRubyのパパ、”Matz” ことまつもとゆきひろさん。まつもとさんの職場(ネットワーク応用通信研究所/島根県松江市)まで、直接お話をうかがってきました。

1. 英語は実践で伸ばす

大学を休学して宣教師として働いていた

 いまの時代、エンジニアにとって英語は必要不可欠。僕は昔、大学を2年間休学して宣教師として働いていたんですが、その時期に英語を覚えました。宣教師はほとんど2人組で行動してて相棒はアメリカ人。彼は日本語も少し話せましたが、細かいことは英語のほうが伝わりやすかった。中学、高校以外で特に英語を勉強したわけでもないですが、下手くそでも話せばなんとか通じるという体験をしたことが大きかったです。

まつもとゆきひろ

「自分から勉強」が苦手

 実際にRubyのドキュメントで英語を使うようになったのは、2001年ぐらいから。海外のカンファレンスに呼ばれて色々な人と話をしたり発表する中、少しずつ上達していきました。自分から語学を勉強したり、教えてもらったりすることはとても苦手で。でも、実践だけだと「あなたの英語、ココが間違っている!」と指摘してくれる人があまりいないんですよね。それが少し難点です。

2. エンジニアとして当然のことを地道に続ける

はじめは海外媒体への投稿から

 Rubyは現在、日本だけでなく世界中のエンジニアに使われていますが、たくさんのエンジニアに広めるためのプロモーションは実はほとんどしていないんです。日本語で情報を用意しても日本人以外は誰も読まないので、一通りの情報は英語で準備したことと、「NetNews」という媒体の中で、海外のPython、プログラミング言語やオブジェクト指向などのグループ(掲示板だとスレに当たる)で「Rubyという言語を使えばこんなふうに書けるよ」ということを何回か書いたことはあります。それくらいですね。

Rubyが広まったのは周囲の人のおかげ

 それを海外の何人かのアンテナの高い人たちが見つけてくれて、周りの人に宣伝してくれた。私の書いたソフトウェアに関して、英語で本を書いてくれた人もいました。その人の本のおかげでたくさんの人がRubyを知ってくれました。本が出たのが2000年。海外でカンファレンスが開かれるようになったのは2001年なので、その本の影響は大きいと思います。

3. 誰にでも対等に接する

フェアなことを心がける

 「フェアである」ということは割と早い時期から心がけていましたね。
 たとえば、よくネットでは「3年ROMれ」と言われますよね。でも、「3年前にRubyを知らない」のはその人のせいではないと思うんです。単に出会いの問題。その人が3年前からコミュニティに参加していようと昨日から参加していようと、その人のせいではない理由で不利益を被るのはフェアじゃない。それは避けたいと思っていますと思っています。
 提案があったときにも「この提案はAさんから来たから採用」「Bさんから来たから不採用」ということもしていません。いいアイデアであれば、誰からでも取り入れます。たとえば初心者からのアイデアであったとしても、別の理由で採用しないかもしれませんが耳は傾ける。逆に言うと、たとえ私であっても、間違っていたり、変なことを言うと、周りから「それ間違っているよ」って言われます(笑)

まつもとゆきひろ

ナイスなことを心がける

 フェアであると同時に、「ナイスである」というのも心がけています。たとえば、罵倒しないことです。これは、たとえばLinux界隈だと、開発者のリーナス・トーバルズがものすごく口の悪い人で。この人はとにかく罵倒するんですけど。「僕らはRubyでそういうことはしないようにしようね」と決めています。
 荒らしに近い感じの人(英語でいう、troll)が来たときに「まあまあ、そう言わず、コミュニティーの空気を荒らさないようにしようよ」と言える人が複数いるコミュニティがナイスだと思います。

4. チャットは使わない

ツールにこだわりはない

 コミュニケーションのツールにはあまりこだわらないほうです。Rubyの場合、中央にRedmineというプロジェクト管理ツールを置いて、そこにたとえばバグレポートや改善の提案、議事録を置いています。

リアルタイムコミュニケーションは時間が消費されてしまう

スマホ通知
スマホの通知画面もシンプル。その日の予定などしか表示されないようにしている

 SlackChatworkなどを仕事で導入する企業も増えていますが、仕事するうえで、チャットみたいなリアルタイムコミュニケーションがあまり好きじゃないんです。私が時間を浪費してしまって本当に何もできなくなってしまって。リアルタイムコミュニケーションは好きではないですが、コミュニケーションが一方通行なTwitterは続いてます。

5. ハマったものには課金する

魔法使いと黒猫のウィズで遊ぶまつもとゆきひろさん
東京にいるときなど、移動時間中にスマホゲームをすることが多い

黒猫のウィズに課金していた

 スマホはAndroidを使っています。メールはGmailと、自分の会社のメールサーバーの両方に同じものが届くようになっています。Gmailはスマホで読むだけで、返信が必要なメールはPCを開いてEmacsで書いています。

 ゲームもやりますね。最近あまりやっていないですが『魔法使いと黒猫のウィズ』はずっとやっています。はじまってすぐの時代からやっているんで、もう2年とか3年になります。昔課金したこともありますよ。

黒猫のウィズ まつもとゆきひろ Lv.128
黒猫のウィズはなかなかのやりこみ具合。「キリがいいからレベル128以上にできない」

マンガ大好き

 あとはマンガボックスでマンガを読んだりとか。マンガ大好きなんです。最近面白かったのが、『決してマネしないでください。』という、週刊モーニングに連載しているマンガです。
 音楽はあまり聞かないですね。どちらかというと意味のある言葉を聞くほうが好きなので。Podcastは聞きます。日本語だとRebuild.fmとか。英語だとRuby RoguesとかChangeLogってのを聞いてますね。1.5倍速で聞いてるんですが、私の早口を助長してるかもしれませんね(笑)プログラミングしているときには音楽含めて何も聞きません。

6. ほしいものは自分でつくる

メールクライアントは自作

 メールクライアントは自作です。Gmailも便利ですが、飛行機に乗っているとき、メールが全く見られないと過去の資料やバグレポートが全部そこに入っているから仕事が進まなくなっちゃうんですよね。そこでオフラインでも見られるGmailが欲しいと思って自作しました。

プログラミングは英語配列

 キーボードは日本語キーボード(JIS配列)を使っていますが、英語配列(ASCII配列)に変えています。英語キーボードはキーの数が数個足りないだけなんですがそこが自分にとって割とクリティカル。それで日本語配列にしないとダメなんです。

まつもとゆきひろさんのPC
特に「Shift + 2でアットマーク」がありがたい

 だけど、キー配列は英語のほうが良いのでキーバインドだけ英語に変えています。20年以上続いている習慣です。

日本語入力も自作

 ちなみに、日本語入力も自作。「きゅうり」というキーバインドを改良した「きゅうり改」という配列があるんです。多分、日本で私1人しか使っていない配列です。日本語入力はIMEとしてMozcを、配列をカスタマイズして「きゅうり改」にして使っています。もともと狩野さんという方が「きゅうり」という配列を作られて、それを私が改造してできたのが「きゅうり改」なんです。

QWERTY配列

Qwerty
こちらは一般的なQWERTY配列。まつもとさんがプログラミングするときはこちらの配列

きゅうり改配列

きゅうり改
おそらく日本でただ一人しか使っていない「きゅうり改」配列。日本語を打つときにはこちらの配列を使う

 たとえば「Q(→G)H(→A)」って打つと、「が」が入るんですね。また、「Q(→G)U(→ゃ(拗音のや))」と打つと、「ぎゃ」になる。「ん」と「っ」キーが専用にあるので子音を重ね文章が打ちやすいです。

IMG 3618
まつもとゆきひろさんの仕事机

詳しく知りたい

日本語入力をラクにする Mozc

 ちなみに、仕事場所にはこだわりません。いつも会社にいるわけではないです。移動時間がもったいないと思ったときには、家で仕事します。

本邦初公開!まつもとゆきひろの開発環境

  • エディタ: Emacs 24.3(メールの読み書き、プログラミング、原稿書き、メモ書きに使用)
  • PC: ThinkPad
  • OS: Xubuntu 15.10
  • 作業スペース: デスクトップ領域は4画面をスイッチして使っている。2画面分がターミナルの画面、3画面目がEmacsで4画面目がGoogle Chrome。それぞれを切り替えて使っている
IMG 3617
AndroidはQi(ワイヤレス給電)で充電する

7. 日曜日は仕事をしない

 最初のRubyを開発していた当時、浜松に住んでいたんですが、自宅にコンピューターがなかったんです。そこで会社のコンピューターで開発を続けていました。
 浜松でサラリーマンをやっていた時代から「日曜日は仕事しない」というルールを決めていました。土日開催のカンファレンスやイベントは結構ありますが、日曜日には出ないことにしています。家族から評判が悪いので土曜日もできれば避けたいなと思っています。実際には避けられてませんが。

 だからといって日曜日に何かしているわけでもないんです。教会に行ったり本を読んだり、平日の睡眠が足りない分を取り返したりで1日終わります。平日は5、6時間くらい寝るといいほうです。日曜日は日中2、3時間くらいの昼寝を取るようにしています。

8. メリハリを大事にして寝るときは寝る

ずっとPCに向かっていることが最善ではない

 メリハリは大事です。たとえばプログラミングをしているとき、結構な割合で悩んでいる時間、ありますよね。「バグが見つからない」「問題をどう解決していいのかわからない」「どういう設計が最適かわからない」と、いろんなことで悩むわけです。いろんな情報をインプットしたうえで、一度PCの前から離れてみると、頭が整理されたときに問題が片付く、ということが結構あります。

まつもとゆきひろ

 お風呂に入っているときとベッドに入って寝る前、犬の散歩しているとき。私は、この3つの瞬間にひらめくことが多いです。脳に整理する時間を与えてあげると、そのときに、「あそこにバグがあった」「これはいいアイデアだ」とか、そういうことが結構出てきます。そういう意味でいうと、ずっとコンピューターに向かっていることが最善ではないと思います。それでもずっといるんですけどね(笑)

ゼロから作り出すときこそ、潔く諦めて寝る

 たとえば講演の前、スライドを用意しなければならないとします。講演内容の構想のようなものコンピューターに向かっているだけではなかなか出ません。

 一通り情報をインプットした後で、「もう諦めて今日は寝よう」と布団に入る。すると布団に入った瞬間、イメージが固まることが結構あるんです。

9. 家族みんなで朝ごはんを食べる

 朝ごはんはみんなで一緒に食べるということは意識しています。一番下の子が小学生で、7時半に家を出ていますが、それより前に家族みんなで朝ごはんを食べるということはしようかなと思い、続けていますね。

 うちの奥さんが食べ物は、野菜を多目にとか気をつかってくれてはいるんですけど、それ以上はあまり気をつけていないです。実は目の前に食べ物があったら、とりあえず食べてしまうタイプなんです。ビュッフェなんかに行くとバカ食いしてしまって。自宅にいる間は、みんなが監視しているので、「また食べてる!」と言って怒られています。

 家族を核に食生活を構成することで私の健康が保たれています。

Android Wear搭載スマートウォッチ「LG G Watch」
Android Wear搭載スマートウォッチ「LG G Watch」でメールなどの受信に気付く

10. 仕事は「自分が期待に応えられるかどうか」で選ぶ

お金は重要な要素ではない

 現在、VASILYSansanSpeeeなどの技術顧問を引き受けています。技術顧問のお仕事を引き受けるうえで、お金はあまり重要な要素だと思っていません。直接業務改善に踏み込み仕事に対して直接的なアドバイスをするような技術顧問のやり方もあります。しかし私自身は業務経験もクライアントのための開発経験もあまりないので、「直接業務に踏み込んで、業務行動を見直す」ような技術顧問としての関わり方は、正直難しいです。むしろOSS開発経験とか、コミュニティ運営とか、Rubyの周辺動向とか、他の人とは異なる経験・知見を楽しんでもらうという形を目指してます。自分では一種の福利厚生ではないかと考えているのです。

 貢献の度合いもそれなりですし、報酬についてもそんなに高いものではないと思っています。

「その会社をお手伝いできるか」が重要

 どちらかというと、「その会社に対してお手伝いできるかどうか」「既存の企業と競合していないかどうか」「オファーしていただいたときの私に対しての期待が、私が提供できるものに対して折り合いがついているかどうか」ということを考え続けるようにしていますね。

まつもとゆきひろ
IMG 3485

まつもとゆきひろ

プログラミング言語「Ruby」の開発者。株式会社ネットワーク応用通信研究所フェロー、楽天株式会社楽天技術研究所フェロー。鳥取県米子出身。筑波大学卒業。卒業後に就職したソフトウェア開発会社の本社は東京だったが、4年ほど浜松に勤務。浜松でRubyが生まれた。その後、名古屋の会社に転職。97年に現在の会社の前身に転職。「田舎で働きたい」と思い続け、現在に至る。島根県松江市名誉市民。

仁田坂淳史

日刊キャリアトレック編集長。出版社での雑誌編集、mixiを経て独立。出版ベンチャー株式会社ZINEを設立。mixiではFind job! Startupの立ち上げを担当し7ヶ月で100万PVまで育てた。