Rubyの父・まつもとゆきひろ氏が語る、若手エンジニアのキャリア論

あなたはエンジニアとして、社会でどのように生き残っていけばよいのか悩んではいませんか?

特に若手エンジニアにとって、今後のキャリア戦略は非常に大きな問題です。

「自分はどういう働き方がしたいのか」「自分はどのようなスキルを身につけたいのか」を常に考え、行動することが優れたプログラマーとして、揺るがないキャリアを築くことに繋がります。

今回は、プログラミング言語・Rubyの開発者であるまつもとゆきひろさんによる講演『若手エンジニアの生存戦略』のレポートをお届けします。

この記事を読むことで、あなたはエンジニアとして生き残るための戦略を自ら考え、今後のキャリアをしっかりと検討することができるようになるでしょう。

TECH::NOTE(テックノート)は、未経験から最先端のテクノロジー人材へTECH::CAMP(テックキャンプ)、10週間でエンジニア転職実現までサポートを行うTECH::EXPERT(テックエキスパート)、これらのサービスを運営する株式会社divのオウンドメディアです。

2017年5月20日、株式会社ドリコム セミナールームにて「Rubyの父」として知られるまつもとゆきひろさんを講師に迎えた特別講演『若手エンジニアの生存戦略』が開催されました。

主催は若手エンジニアのコミュニティサービスを運営するサポーターズCoLab
元々学生エンジニアの就活支援サービスを展開し、IT企業の就職率ではトップシェアを誇るサービスを運営していますが、この4月に社会人向けのサービスとして、サポーターズCoLabをスタートさせ、これまで100回以上の勉強会や、講演会を開催しています。

講演当日の客席は半数が学生、半数は社会人が占め、中には高校生の参加者もいるなど、幅広い層のエンジニアがサービスを利用している様子をうかがい知ることが出来ました。

2017年5月20日 【まつもとゆきひろ氏特別講演】若手エンジニアの生存戦略
会場:株式会社ドリコム セミナールーム

講師: まつもとゆきひろ
主催: 株式会社サポーターズ
特別協賛: 株式会社Speee
会場提供: 株式会社ドリコム

そもそも、Rubyとは?

Rubyは、まつもとさんが1995年に公開したプログラミング言語です。

便利さ・容易さと高い生産性を持ち合わせた、オープンソースのオブジェクト指向スクリプト言語であることが特徴です。

C言語をはじめとするコンパイラ言語は、プログラムの実行にコンパイルという作業が必要です。
スクリプト言語にはコンパイルが不要なため、より手軽でスピーディーな開発が可能です。

Rubyはエレガントな文法を持ち合わせており、プログラミングの楽しさと便利さ・実用性を体感するのに最も適した言語の一つといえます。

2012年には日本発のプログラミング言語として初めて国際規格「ISO/IEC 30170」に承認され、グローバルな言語として積極的に利用されています。

全ての人に共通する“生存戦略”は存在しない

まつもとさん:「下手すると、皆さんのご両親・親御さん世代のプログラマーの“大先輩”に当たるということになります」と若い参加者に向けて、語ったまつもとさん。

若手エンジニアが生き残るにはどうすれば良いのかというテーマに対しては即座に「死ななければいい」と明快な答えを示しました。

まつもとさん:「人生はスペランカーみたいなもので、あらゆるところにトラップが張り巡らされているわけです。“死の鎖”。これらからいかに逃れるのかというのは、非常に重要なわけです」

まつもとさんは、誰にでも当てはまる生存戦略は無いとも語ります。

まつもとさん:「何故かと言うと私たちは一人ひとり違うし、才能も違うし、興味のあることも違います」

成功者に共通する特徴とは?

まつもとさんはシリコンバレーでスタートアップを始め、成功した人物に比較的共通する特徴は「パターン認識能力」だと、とある研究結果を紹介しました。

スティーブ・ジョブズやビル・ゲイツを自伝をくまなく読んだとしても、その人が“第二のスティーブ・ジョブズ”や“第二のビル・ゲイツ”になれる訳ではありません。

蝶が一匹羽ばたく程度の小さな誤差でも、その誤差が遠くの場所の気象に竜巻を起こすほど大きな影響を与えるという現象を「バタフライ効果」と呼びます。

“自分も成功したい”と先人の思考や行動を真似しても、生まれた国やビジネスを展開する上での条件は異なります。

全く同じ行動をしてもそうした誤差が存在する限りはバタフライ効果により、生じる結果はまるで違うものとなります。

まつもとさん:「つまり成功者の真似をして、彼らの成功条件を自分に適用してもそれは役に立たないんです」

まつもとさん:「私に、“Rubyが成功した秘訣はなんですか?”とインタビューしてくる人も居ます。私も質問には一生懸命答えるんですけど、Rubyを作り始めたのはもう25年も前のことなんですよね。25年前に自分が何を考えていたかなんて、全部は覚えてないわけです。立派なことを言っていたとしても、その時は大したことなんて考えてないんです。大分後付けだったりするんです」

過去の歴史は“そのまま真似する”のでは役に立たないことから、重要性が浮かび上がってくるのがパターン認識能力です。
つまり成功者が行ったことを“コピー”するのではなく、成功者に共通するパターンを抽出することが肝要だとまつもとさんは強調しました。

“Rubyの父”の学生時代とは

鳥取で育ったまつもとさんは、周りにプログラミング言語やコンピュータについて話す友人が居ない時期を過ごした後、高校を卒業。

進学した筑波大学ではコンピュータ・サイエンスを専攻したとのことです。
ただ10代の頃からプログラミング言語を作ることに関心を持っていたまつもとさんは、大学でもマイノリティーだったとのこと。

プログラミング言語の研究室に入った後は周囲がコンパイラの最適化などを研究する中、まつもとさんは新しいプログラミング言語を作るという卒業論文を書いたそうです。

我々の社会は、我慢に価値を見出す


満員電車での通勤といった例を挙げ、東京での就職に対し「明るい未来がイメージできなかった」まつもとさんは、“東京で我慢して働く”ことを選ばず、浜松の会社に就職を決めました。

200人居る同期の中、コンピュータ・サイエンスを専攻していた学生は6人のみ。
6人の同期は社内システムの開発に配属され、非常に重用されたとのこと。

まつもとさん:「最初に就職した浜松の会社は、全員スーツで出勤していたんですね。はじめのうちはあまり考えずにスーツで通っていたのですが、家は会社の寮で、オフィスまで歩いて五分だったんですよ。しかも、社内システムの開発なのでお客さんに会うことも無くて。何故スーツを着る必要があるのだろうかと、段々疑問が浮かんできたんです」

就職してから一年が経ったある日、社内掃除を行うために社員全員が汚れても良い軽装で出勤した際、まつもとさんは閃きます。

まつもとさん:「その翌日からも、自分だけはTシャツにジーンズで出勤しようと。すると、誰かが“なんだ、まつもと”と文句を言ってくるだろうから、その際に“この格好でも何の問題もないじゃないですか”と主張し、自分の権利を拡大しようという戦略を立てたんです」

しかし実際にTシャツとジーンズで出勤してみると、周りからは何も言われなかったそうです。
まつもとさんはこうした経験を踏まえた上で、無意味に「我慢すること」には価値がないこということを強調しました。

労働は我慢ではなく、バリューを作り出すこと

まつもとさんは“我慢の無意味さ”を裏付けるように、プログラミング言語・Perlの開発者であるラリー・ウォールが提唱する「プログラマーの三大美徳」を紹介しました。


ラリー・ウォールは、プログラマーの三大美徳として「怠惰」「短気」「傲慢」を掲げます。

例えば、「怠惰」とは一見するとポジティブな言葉ではありません。ともすれば「社会人」として問題視されそうな気質です。

まつもとさん:「あんまり良いイメージのある言葉では無いですよね?“美徳”と言うからには、反対なんじゃないの、という気もする。勤勉や寛容、謙遜。これだったら、美徳という感じがする。確かに、人間として接するときに傲慢な人と接するのと、そうでない人と接するのでは傲慢じゃないほうが良いですよね。ただ、プログラマーの美徳として考えるとどうか?……この“勤勉”というのは特に良くないですね」

プログラマーとはコンピュータに仕事をさせ、自らは少ない労力で成果を上げるためにコードを書く職業であるとも言えます。
「怠惰」「短気」「傲慢」の反対語である「勤勉」「寛容」「謙遜」も重要なことではありますが、それらが無意味な我慢や苦痛に繋がることをまつもとさんは問題視します。

まつもとさん:「特に勤勉を美徳とする人たち。他人が勤勉であることを重視する人たちというのは、結局は苦痛や労力を他人に押し付けているんです。それはいけない」「本当は皆も苦労しないで、僕も苦労しないというのが一番良いですよね」

まつもとさん:「報酬は、皆さんが感じる苦痛の対価じゃありません。皆さんが提供したバリューの対価が報酬なんです。大きなバリューを提供すれば、それを楽しんでやっていても良いんです。バリューを提供した人が報酬を貰うのは当たり前。周りの人が苦しんで仕事をしているからといって、皆さんまで一緒になって苦しむ必要はないんです」

組織の理不尽さに気付かないといけない

企業に属し、仕事をしていると人は「自分は会社に生かしてもらっている」「会社を辞めると、路頭に迷う」という感覚に陥りがちです。

企業と従業員の雇用関係は、従業員がバリューを提供することによって成り立つものです。
従業員が提供するバリューの対価が給与であるため、本来、企業と従業員は対等の関係です。

しかし「会社は私の主人」という強い刷り込みの悪影響から、しばしば人はバリューではなく組織の秩序や無意味なルールを優先するようになっていきます。


理不尽は、社会的な圧力となります。

まつもとさん:「社会的な圧力は目に見えないので、際限なく皆さんを苦しめます。それこそが最初に言った、“死の鎖”なんです。過労死に関する話も、よく耳にします。彼等は社会的な圧力の、ある意味では犠牲者なんですね。健康を犠牲にして働く。我慢を続けていると、段々と我慢に対して鈍感になってくるんです。最初は一時間残業していたものが、月20時間の残業になる。段々耐える時間が増してきて、40時間・80時間・160時間の残業になる。「あー、仕事したなあ」と耐えることに鈍感になっても、致死量は変わらないんです。人間には生物学的な限界があります。耐えている内に、死なないにしても具合が悪くなる。もっと前の段階で気がつくことは出来なかったのか……、怖いですよね」

皆がやらないけれど、本当はやっても良い「裏ワザ」を使う

企業にも従業員にも思い込みが蔓延しているということは、「皆がやっていないけれど、本当はやってもいいこと」が沢山あるということでもあります。

まつもとさん:「スーツで出勤しなくてはいけないと皆、思い込んでいたけれど本当はTシャツとジーンズでも良かった。そういう具合に、皆はやらないけれど本当はやってもいいことというのは沢山あるんですね。そういうことを、何というか知っていますか?……裏ワザと言うんです」

まつもとさん:「裏ワザを使って、ゲームをクリアすると中には“ズルい”という人も居るかもしれません。でも、大抵は“俺にもやり方教えて”となると思います。裏ワザを知っている人はヒーローです。裏ワザを使って少ない労力でゲームをクリアできるなら、それは良いことですよね。少ない苦痛で、出来れば苦痛はゼロで、成果を上げる。そのために何をすべきかと言うと、空気を読まない(笑)」

IT系スタートアップは、本質に注力した働き方がしやすい


まつもとさん:「企業は本質的な目的と、組織の秩序を維持するといった本質的では無い目的を混同してしまうことがあります。他の人が本質的では無いことに時間や労力を割いている間に、本質的な目的に注力すると成果を上げることが出来る。これは日本の企業特有の問題かと思っていたら、海外でも似たようなことはあるみたいなんですね。“Don’t work hard,Work Smart”という言葉があります。つまり、一生懸命に働くのではなく賢く働きなさいと。多少の文化の違いはあっても、人間が集まると、日本でもアメリカでも大変だと感じます」

まつもとさん:「こうした方が本質的な問題に注力できるじゃないですか、と提案をすると、話が通じる人というのは確かにいます。でも、中には全く通じない人というのも居るんですね。話が通じない人が組織の上の方に居たらどうするか。もう“組織を変わっても良いんじゃないか”と思うんです」

まつもとさん:「IT系のスタートアップは、組織の秩序を維持すると言った本質的ではない目的に注力している余裕は無いんですね。だからこそ、話せば分かる可能性というのは高まるんです。本質的なことに価値を見出した働き方をしたいという考え方に共感する企業は、IT系のスタートアップにはかなり多い。そういう企業を探すというのは、大事なことだと思いますね」

「Win-Win」か「No deal」の二択だけを意識する

良い関係とは「リスペクトし合える関係」「対等な関係」だと、まつもとさんは語りました。

しかし「お前は俺の部下なんだから、俺の言うことを聞け」という上司が組織に居るケースは、少なくありません。
エンジニアとクライアントの関係も同様です。
ソフトウェア開発の現場でも「こちらの言うとおりにソフトを作れ」というスタンスのクライアントは多いとのことです。

そうした上司と部下、或いは組織間の関係には対立構造が発生します。

まつもとさんは「二人のプレイヤーが居て、勝者・敗者が居る場合の組み合わせ」として以下の四つを挙げました。

・Win-Win
・Win-Lose
・Lose-Win
・Lose-Lose

Win-Winの関係が成り立たない場合には、片方のプレイヤーは取引からデメリットを被ることになります。
「片方が勝って、片方が負けるという取引は永続しないですね。それなら、そもそも取引しないほうが良いわけです」

まつもとさんは新たな選択肢として「取引しない。No Deal」という項目を挙げ、選択肢を「Win-Win」と「No Deal」の二つに絞りました。
Win-Win(お互いにバリューを得られる)か、No Deal(取引しない)の二通りを明確に意識することが、まつもとさんが“死の鎖”と形容する理不尽さや無意味なルールから逃れる手段となります。

思い込みとはキャッシュである


まつもとさん:「明らかに怪しい格好をした人に“確実に儲かりますよ”と言われたら“騙されないぞ”と思っていても、スーツを着た銀行の名刺を持った人に同じことを言われると“そんなものかな?”とついつい思ってしまう。人間というのは、とても思い込みに弱いんです」

思い込みは「ある種のキャッシュのようなものです」と、まつもとさんはプログラミングに関する単語を比喩に使い、言いました。

まつもとさん:「“キャッシュを消すことと、何かに名前を付けることは最も難しい”というコンピュータ・サイエンスの世界の格言があります。これはコンピュータ・サイエンスだけでなく、現実の世界についても同じことが言えます」

まつもとさん:「皆さんが就職する際に、お父さん・お母さんが反対するケースというのがあったと思うんです。皆さんのご両親は恐らくはバブル世代で、その時代の価値観で話をしているんですね。いまとは経済的なシチュエーションも違うし、時代に即していないんです。バブル時代の価値観が脳に留められて、キャッシュが残っている。だから、意識的にキャッシュをインバリデーションしないといけないんです

あなたの得意なことは何か、洗い出してみよう

まつもとさんは講演に集まった、若い参加者に向けて「自分の得意なことをインベントリ(棚卸し)してみよう」と呼びかけました。

一つのことだけを突き詰めるには、困難が伴います。ライバルが多く、後続に追い抜かされる可能性も小さなものではありません。

まつもとさんは、複数の要素を組み合わせることを推奨します。

例えばプログラミングと農業に関心があるならば「プログラミング×農業」のIoT製品やWEBアプリケーションの開発に取り組み、アウトプットすることが、自らの希少価値を高めることに繋がり、成功を引き寄せます。

Rubyは物凄いソフトウェアでは無かった

1995年に公開した時のRubyは、物凄いソフトウェアでは無かったとまつもとさんは語ります。

まつもとさん:「最初のRubyは物凄いソフトウェアでは無かったんです。しかし、公開したことで少しずつ人が集まってきて、コミュニティが出来、色んな人に助けられたことでいまの私があるんです。そう考えると、空気を読まずに“最初の一歩を踏む”、“アウトプットをする”ことが違いを生んだんですね。皆さんがそれぞれ何をアウトプットできるかというのは、人によって違うとは思いますがまずは一歩を踏み出すことが成長につながります。そうして生まれた“違い”が幸せなものになるように手綱を握るのは、皆さん自身です」

プログラマーは人生の勝ち組!


プログラマーの仕事の多くは、「問題を把握し、ソリューションを提案し、実装し、テストし、改善する」という問題解決にあります。

実際の開発は、こうした一連の工程をスパイラル的に繰り返していく形になります。

まつもとさん:「プロセスの改善や環境の改善を行い、同じ失敗を繰り返さないようにより便利なツールやフレームワークを導入することで、日々、より生産性の高いソフトウェアの開発を行うのがプログラマーです」

まつもとさん:「よくよく考えてみると、我々が人生で日々直面する多くのことも“問題解決”という枠組みで捉えることが出来ます。より良い就職先、より収入の高い仕事、より充実した仕事、より充実した家庭生活。それらを実現する上での、問題は何か。問題を解決するには、何をすれば良いのか。もっと良い問題解決方法は無いか。ソフトウェア開発と変わらないアプローチを、日常生活の問題にも適用可能です。つまり問題解決の原則を、日々のことに応用できるんです」


日々の全ての問題を解消できるわけではないにしろ、多くを解決することが出来るならば「プログラマーは人生の勝ち組になれる」とまつもとさんは語りました。

まつもとさん:「多くの問題は人間の心理から生じます。だからこそ、(技術だけでなく)人間の心理を学びましょう」

最後に「プログラマーは人生の勝ち組になれる。……なろう!」と言い、大きな拍手の中、にこやかに講演を締めくくりました。

若手エンジニアから、まつもとさんへの質問

講演後には、質疑応答が行われました。
会場の学生や若手エンジニアからの質問は、twitterのハッシュタグを通じて集計され、一つ一つに丁寧な回答が行われました。

参加者の一人から寄せられた「Rubyには便利なメソッドが多すぎる。エンジニアはメソッドを使わず、裏側のコアの部分をもっと知らなくてはいけないという意見がある。Ruby開発者のまつもとさんはそうした批判的な見解について、どう思うか?」という質問に対し、まつもとさんは鋭い回答を行いました。

まつもとさん:「基本的に“裏を知らなくてはいけない”というのは、古い人間の意見なので(笑)。あまり聞かなくても良いと思います。我々の文明というのは、あまり裏側を知らなくてもいいように進歩してきただけなんですね。誰も詳細を知らないとなると、文明が途絶えてしまうので誰かは知る必要がありますが、全ての人が把握している必要はないんです。現代の我々は、車がどのような仕組みで動いているか知りません。しかし、車は実際に動いていますね。全ての人が詳細を知る必要は無いというのが、現代のポリシーです」

Rubyについては、こんなエピソードの紹介も行われました。

まつもとさん:「大学の授業でRubyを扱う際、“ソートアルゴリズム”について教えようと先生が一生懸命解説を行ったんですけど、学生の一人が“sortメソッド使えばそれで終わりですよね?”と言ってきて、まるで授業にならなかったという話を聞いてます(笑)。確かにそういう傾向(※便利なメソッドの多用)はあるんだけれど、全員が裏側を知る必要はやはり無いと思いますね」

紹介されたエピソードはRubyの実用性と学習効率の良さを裏付ける、興味深いものであったといえるのではないでしょうか。

プログラミングを身につけ、本質的な問題に注力した働き方をしよう

まつもとさんが繰り返し強調したのは、現代社会に色濃く残る無意味な“勤勉”や“我慢”を美徳とする文化を拒否し、出来る限り少ない労力で、バリューを生み出すことの重要性でした。

無意味な秩序やルールに惑わされず本質的な問題に注力し、大きなバリューを提供して報酬を受け取るというのは、まさしく優れたプログラマーのワークスタイルです。

プログラマーの仕事とは、問題を解決することです。

問題解決能力はプログラミングだけでなく、日常生活にも応用することが可能です。
プログラミングを学ぶことは、仕事と人生を豊かにします。

皆さんもプログラミングを身につけ、本質的な問題にフォーカスしたワークスタイルと快適な生活を実現しませんか?

絶対に挫折しないテクノロジー体験会で
最新のプログラミングを学ぼう

プログラミング体験会

TECH::CAMP』のプログラミング体験会なら、Webや人工知能、VRといった最新テクノロジーを無料で学べます。教室で講師に質問し放題なので、全くの未経験からでも絶対に挫折せずにやり切れます。

  • 実際にプログラミングを触れる
  • 質問し放題なので、疑問点が即解消される
  • テクノロジーをなぜ学ぶべきなのか明確になる
  • 人工知能やVRなど他では学べないテクノロジーが学べる

まずは一度プログラミングに触れてみたい方は気軽にご参加ください。なお月に1000名以上が参加するため、予約はお早めをオススメしております。

プログラミング体験会を詳しく見る

Kazuto Seki Kazuto Seki
音楽ライターとしてエイベックス、ビクター、トイズファクトリー等に所属するアーティストの取材を担当。2016年に開催された『Bjork Digital』の取材経験から、VR×音楽に関心を抱く。2017年よりテクノロジーに関するライティングを開始し、TECH::NOTEにジョイン。猫とウサギを飼っています。
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

  • カテゴリー