Rubyの父として知られるまつもとゆきひろ氏が、学生エンジニアに贈る貴重なキャリアアドバイス。モチベーションを成長の基礎として考え、「普通でないこと」の価値、興味を組み合わせてライバルを減らす戦略、そして成功確率を高めるために必要な3つのスキルまで。プログラミング言語を生み出した経験から導き出された、これからのエンジニアが知っておくべき生存戦略の本質をお届けします。
モチベーションは成長の基礎、普通でないことがライバルを減らす
まつもとゆきひろ氏:特にそのモチベーションみたいなものは大事で、それは何に対してモチベーションを持てるか。人によってはプログラミングに対してモチベーションを持てる人もいれば、企画というんですかね? 人の問題を解決することに興味が持てる人もいれば、なんかものづくりっていう、もうちょっと広い範囲で興味がある。いろいろあると思うんですけども。そのモチベーションを持てるところも一人ひとり違うんですよね。
でもそうすると、モチベーションって成長の基礎なので。モチベーションがあれば、ある領域で学ぶのは苦でないし、成長するんですよね。そうするとモチベーションは成長の基礎なんですよ。特に先ほども言ったけど、普通でないことがね、いいことなんですよね。というのは、普通でないってことは、ライバルが少ないっていうことなんですよ。
例えばすごく広い範囲内で「私は音楽に興味があります」とかと言うと、でも音楽をやりたい人、あわよくば職業にしたい人って、全国、あるいは全世界に山のようにいるんですよね。そうすると、ものすごいライバルがいるわけなんですよ。だけど、例えば私みたいに、プログラミング言語に興味がありますとかを言うとですね、あるいは「プログラミング言語を作りたいくらい興味があります」とか言うと、だいぶライバルが減るんですよね。
「人と同じことができない」のは実はすばらしいこと
私は小学生の頃、学校の先生に怒られたことがあって(笑)。小学校低学年の頃に、先生に「あなた、どうして人と同じことができないの!?」って、めちゃくちゃ怒られたんですよね。その時は、「だってやりたいことがやりたいんだもん」とか思って、なんかグズグズ言っていたんですけど(笑)。6歳とか7歳の私なんだけど、今振り返ってみると、人と同じことができないことはね、かえってすばらしかったんですね。
つまり、他の人と同じようにできないってことは、ライバルが少ないっていうこともあるんですね。どういうことかというと、人間っていうのは、いろんなところに心理的な障壁を置いてしまうんですよね。「ここから先は自分の領域ではない」と思うことが多いんですよ。
例えば、普通の人。みなさんも含めて普通の人は、プログラミング言語を作ろうとは思わないんですね。プログラミング言語というのは、勉強して、それを使ってアプリなりゲームなりを作って、それを世に出したいって思うものらしいんですよね。
心理的な壁を乗り越えた「おかしい人」が成功確率を上げる
なんだけど、私がプログラミング言語を作りたいと思ったのは高校生の時なんですけども。特にすごい昔の高校生だったので、周りにプログラミングに興味のある友だちとか、知り合いとかがいなかったんですね。その中でプログラミングゲームに興味を持ったので。そしたらプログラミング言語を作りたいって思っちゃったんですよね。
でも、その時は周りにあまり人がいなかったので、普通の人は言語を作らないという常識を持っていなかったんですね(笑)。だから、私はそこに壁がなかったんですよ。その愛は無意識に置いた壁みたいな。なので、「作りたい!」と思ったんですけれども。
そのあと大学に進んでコンピューターサイエンスを専攻して初めて、初めて同世代でプログラミングをする人たちと交流して、プログラミング言語を作ろうと思うのは普通じゃないってことを教えてもらったんですけれども(笑)。まぁ、手遅れだったので(笑)。それもあって、こんなふうになっちゃったんですよね。
ということは、心理的な壁を感じないで乗り越えちゃったり、あるいは感じてもそれを意識的に乗り越えたりした人は、もうそれは普通でないことなので。それはもう普通じゃない、すばらしい状態なんですね。ライバルが少ないし、成功確率がグンッと上がるわけですよ。ただ、みんながみんな、こういうおかしい人ではないので(笑)。
「ドットをつなげて新しい領域を開拓する」スティーブ・ジョブズの教え
そうすると、みなさんの持っている興味の方向とか、モチベーションのありかとかが、他の人とあまり変わらない。それでライバルが非常に多い時にはどうしたらいいかということについては、Appleの創業者であるスティーブ・ジョブズさんが教えてくれています。それは何かというと、「Connecting The Dots」ですね。自分の持っている経験とか、体験とか、興味とか、そういうものがいくつもあるでしょう。
そういうものをつなぐことによって、新しいものが生まれますよということですね。それで複数の領域の組み合わせによって他の人がやらないようなことができるということですね。私の場合だと、わりと若い時から、心理学であるとか、人間の認知であるとか、それから人間工学であるとか。人間がそのツールを使う時にどういうふうに感じるかという点。
それからプログラミングと言語全般。日本語とか英語とかエスペラントとか。そういう言語全般に興味があったんですね。その共通項にあったのがプログラミング言語だったわけですよ。なので私もドットをつなげて、自分の興味の方向性みたいな、あるいは人生の方向性みたいなものを決めたわけなんですけども。みなさんにも何かあると思うんですね。
興味の方向になるものをいくつ選んで、それを組み合わせることによって新しい。ライバルの少ない領域を得ることができるというふうに思います。
興味の組み合わせでライバルを減らし、モチベーションを高める
わりとこのへんは陳腐な組み合わせではあるんですけど。例えば農業とIoTを組み合わせましょうとか、医療とソフトウェアを組み合わせましょうとか、ゲームと例えば心理学、あるいは認知工学みたいなものと組み合わせましょうみたいなことは、ちょっと考えただけでも出てくると思います。みなさんの持っている興味の方向や特性にピッタリの組み合わせのものを、ドットをつなげることによって、見出していくことができるんじゃないかなというふうに思います。
組み合わせていくことでライバルが減るし、自分の興味があるものの組み合わせなので、あるジャンルで働くモチベーションが高いと。モチベーションが非常に重要で、モチベーションがあれば、そのモチベーションを達成するために必要なスキルを身に着けることができる。モチベーションがあれば向上しやすいし、そのモチベーションによって何らかの成果を上げるということができる。