パーソルグループとSky株式会社は、sightを通してエンジニアの自分らしいキャリアを応援しています

「できない」とは言わないが、「自分がやらない」という選択はある──まつもとゆきひろの仕事論

プログラミング言語Rubyの開発者、まつもとゆきひろ氏。「Matz」の愛称で世界のハッカーたちに親しまれ、Rubyコミュニティを率いて、開発者と企業の間の繋いでいる。2020年はRuby最初のリリースから25年を迎えるということもあり、あらためてプログラミング言語開発の原点、企業内エンジニアとして葛藤した日々、これからのRubyの展望、そしてプログラミングに情熱を燃やす若い世代へのメッセージなどを聞いた。

まつもとゆきひろ氏

Profile

まつもと ゆきひろ氏

1965年大阪府生まれ。鳥取県米子市で育つ。90年、筑波大学卒業後、新卒でシステム開発会社、日本タイムシェアに入社。同社在籍中の93年、プログラミング言語Rubyの開発に着手。94年、同じくシステム開発企業トヨタケーラムに転職し、95年にRubyを発表。Rubyが世界のプログラマたちから支持を集める中、97年にネットワーク応用通信研究所 主任研究員(現在はフェロー)に就任し、島根県松江市に移住。現在もmrubyを中心に自ら実装を続ける現役エンジニアでもある。一般財団法人Rubyアソシエーション理事長のほか、多くの企業の技術顧問を務める。

エンジニアを生き生きさせる「福利厚生型技術顧問」という役割

Rubyのプログラムデザインやmrubyの開発プロジェクト以外に、私は一般財団法人Rubyアソシエーションの理事長や、松江市にあるネットワーク応用通信研究所、楽天技術研究所などのフェロー、それから複数のスタートアップの技術顧問という仕事もしています。

Rubyアソシエーションは、Rubyプログラミングと企業ニーズのマッチングが主たるミッション。Rubyはあくまでも趣味の一環として言語開発を始めたのですが、企業での利用が増えるにつれて、開発の継続性を担保しなければならなくなりました。ビジネス利用が増えれば増えるほど、途中で言語開発がストップする事態は避けなければなりませんから。

そこでアソシエーションに加盟していただく企業から会費を集め、それを開発者にフィードバックして、開発の継続性を保つ仕組みを考えました。一方で、会員企業にはRubyの開発動向や技術情報をセミナーなどを通してわかりやすく伝え、企業での活用をバックアップするわけです。アソシエーションでは、もう一つRuby技術者認定という事業もやっています。「Rubyが書けるプログラマ」のスキルを客観的に証明するもの。技術者の採用や評価にはこれが役立つはずです。

技術顧問やアドバイザリースタッフという役割で、テクノロジー系のスタートアップの成長をサポートする人が増えていますね。なかには当該企業の実際の開発の様子を見ながら事業に積極的に関わる人もいますが、私自身は事業にコミットすることは少ない。

まつもとゆきひろ氏

エンジニアと直接会話して、普段から疑問に思っていることに答えたり、Ruby周辺の技術情報を伝え、アドバイスするのみです。でも、エンジニアは新しい情報に触れることができれば、それだけでモチベーションが上がり、生き生きとします。冗談めかして自分のことを「福利厚生型技術顧問」と呼ぶのはそのためです。

企業の中で事業部門と開発部門、あるいは経営者とエンジニアとの関係については、企業ごとにさまざまな課題があると思います。例えば、ソフトウェア開発をまるごとアウトソースしたがために、締切と契約ばかりが重要になって、肝心のソフトウェア品質について十分チェックできなくなったとか。事業側と開発側の間でコミュニケーションがうまく取れずに、互いの利害が微妙に対立するとか、そういうことはよく聞きますね。

ただ、幸いにも私が技術顧問で関わる会社は、スタートアップが多く、単一または限られた少数のサービスで利益を上げなければなりません。そのためには社内の技術をそこに集中的に投下しなければならない。だからこそ、技術者を大切にする。人間関係などでギクシャクしている暇はないんです。

そうした企業組織とエンジニアとの健全な関係性は、たとえ企業が大きくなっても保たれるべきです。しかし私が仄聞する限りでは、大企業ゆえに生じるいろいろな問題があるようです。大企業だから、それぞれの技術開発部門は経営資源の一つにすぎない。

採算が合わなくなれば、将棋のコマのように簡単に切り捨てられてしまうのもやむを得ない。ただ、切り捨てられるエンジニアがモチベーションを維持することは決して簡単なことではありません。

「逃げる」ことは恥ではない。いまどきエンジニアの処世術

こうした問題をどう解決したらいいのか。正解があるわけではないのですが、エンジニアの立場に立って言えば、もし組織の都合でモチベーションが減退してしまうようなことがあったら、その場であまりクヨクヨ悩んでもしょうがないんじゃないかと思うんです。

エンジニアとはいえ組織で働き、組織から給料という対価を得る限りは組織人の一人ですけれど、組織と個人は基本的には対等の関係です。自分の中にある一定の許容量、ここまでは我慢できるけれど、ここから先は我慢できないという一線を超えたら、思い切って辞めたほうがいいんですよ。

つまり、場合によっては「逃げる」という選択が大切な時もあるということなんですね。私自身が、そう思って会社を辞めた経験があります。幸い、エンジニアはいま売り手市場なので、スキルさえあれば転職はそう難しいことではありません。「せっかく入った会社だから、あと3年は我慢しよう」という心がけはいいのですが、その我慢をしすぎて、心が病むほどまでになってしまうのはどうかと思うんです。

まつもとゆきひろ氏

こう言ってしまうのは、私が本質的に経営や組織に関心がないからなのかもしれません。組織はそれ自体人格ではないし、組織を組織たらしめているのはあくまでも個人個人の力だと思うからです。だから、エンジニアがみな辞めて組織がダメになっても、知ったことかですよ。あくまでも私が関心を持っているのは、個々のエンジニアの幸せだけなんです。

もちろん、辞めるにしても辞めないにしても、外で通用するスキルを身に付けておくことは欠かせません。その上で会社を辞めるという選択肢がある人は、辞めるということすら考えられない人に比べたら、ストレスの度合いが全然違うと言いますからね。

逃げ出すという選択肢を持つこと。外部に売り込むだけのスキルを名刺代わりに持つこと。何かあったらいつでも辞めてやるという気持ちを持つこと──これが、いまどきのエンジニアの処世術として欠かせないものじゃないかと思います。

プログラミング必修授業は、子供たちの自発性を大切に

プログラミングスキルに関連して言えば、2020年度から全国の小学校でプログラミング教育が必修化されますね。順序立てて考え、試行錯誤し、物事を解決する力、これを「プログラミング的思考」と呼んで、その力を養う授業が行われるそうです。

いろいろな議論を経てこうなったわけですが、当初はもっと即物的というか、プログラミングの例題を解いて答えを求めるとか、その結果に点数をつける授業内容が検討されていました。プログラミングには適性というものがあって、算数ができるからといって必ずしもプログラミングができるわけでもないので、私は小学校での必修化と成績をつけることには反対の意見でした。

必修、つまり義務化すると、適性のない子でもいやいや勉強をしなくてはならない。これを強制すると、結果的にプログラミング嫌いの子供を大量に生むことになって、逆効果になるんじゃないかと思ったからです。

まつもとゆきひろ氏

子供の才能はやってみないとなかなかわからないもの。何かのきっかけでやってみたら、関心を持てるようになり、続けていくと面白くなってくる。そういう才能と関心の発見の場を子供たちに用意すること自体は悪いことではないです。他の方法では見つからなかった才能が花開く可能性があるわけですから。

そこで可能性を見出した子がプログラミング教室に通ったり、プログラミング合宿に参加するなどの体験を通して、自分をもっと遠くへ運んでくれるスキルを身につけることには意味があると思います。ただ、あくまでも重要なことは、子供自身が面白いと思うかどうか。子供自身がプログラミングを選択するというプロセスがあるかどうかだと思います。

そういう考えでしたから、私も自分の子供たちにはプログラミングを無理強いすることはありませんでした。そうしたら誰もコンピュータの道には進まなかった。4人子供がいるから1人ぐらいはと思っていたけど、全く一人も(笑)。ちょっと残念ではあります。

私はその一方で「中高生国際Rubyプログラミングコンテスト」「U-22プログラミング・コンテスト」「スモウルビー・プログラミング甲子園」など若い人を対象にしたコンテストには積極的にに関わり、若い人たちのプログラミングへの関心を肌身で感じています。

一言で言えば、プログラマ人口は全体として増えていないけれど、なかには図抜けた才能を持つ若者を発見できる。才能を発揮する若者と、全く関心のない若者とで、二極分化が起きているというように感じています。

二極化というのはやむを得ないことです。「やる・やらない」にはそもそも適性というものがあるので、全員の底上げをするというのは無理です。もちろん、適性がある人たちがさらに伸びていくためのサポートは全力でしようと思います。でも、日本ではプログラマが足りないからどうこうという問題には、あまり関心がないんです。

まつもとゆきひろ氏

ただ、その若者がプログラミングをやりたいというのであれば、「できない」とは思わないようにさせたい。もちろん、「自分がやらない」ということはありえます。やる・やらないを自分で決める自由は大切です。

そしてプログラマになるからには、「欲しいものがあれば自分で作ろう」「あらゆる制約を打ち壊せ」。これらは、ハッカーとしての人生訓とも言えるものですが、その言葉を今の子供たち、もちろん若いプログラマたちにも伝えたいと思います。