同じ人が何回も成功できる外部的要因と心理的要因

植山類氏:「では、挑戦していくにはどうしたらいいの?」という話をしようと思います。(スライドを示して)この人たちが誰だかわかりますか? まぁ偉い人たちなんですけど。右がケン・トンプソンという人で、「UNIX」の開発者です。左がロブ・パイクという人で、Go言語を作った人です。

この人たちは、ロブ・パイクは、僕のGoogleのオフィスのわりと近くで働いていて、見たことがあります。ケン・トンプソンも1回オフィスで見たことがあります。

この人たちはUNIXやGoを作っただけじゃなくて、他にもPlan 9というOSやInfernoというOSを作ったり、UnicodeのUTF-8を開発したり、あとはLimboという言語やSawzallという言語を作ったり、いろいろなものを作っています。みなさんが直接使っているかどうかにかかわらず、業界の他に大きな影響を与えています。

この人たちに限らず、成功している人たちは、一発屋じゃなくて複数のプロジェクトをイチからぶち上げて成功している傾向があると思います。例えばLinuxを作ったリーナス・トーバルズは「Git」も作っているわけです。

「なぜ同じ人が何回も成功できるんでしょうか」と考えてみると、1つの答えとして、その人たちが優秀だからというのは当然の話です。ただ、僕が思うにそれだけが理由ではなくて、もう1つの理由は、その人たちが1つ目の成功で自信をつけたからだと思うんですよね。1つ目のプロジェクトで世界を変えることに成功したんだったら、2つ目でも世界を変えるハードルはものすごく下がりますよね。むしろ「同じぐらいのことをやればできちゃうんでしょ」と思うと思うんですよ。

なので、成功した人はまた別の野心的なプロジェクトに取り組みやすくて、また成功する可能性も高くなると思うんですよ。あとは、まわりの人がサポートしてくれやすくなるというのも当然あります。1つ成功したので、2つ目のプロジェクトを立ち上げやすくなるというのはあります。

いずれにせよ、僕が言いたいのは、優秀な人がどんどん成功しているように見えるのは、別に優秀だからというわけではなくて、優秀ではあるにしても、野心的なプロジェクトを始めやすいからという外部的な要因と、心理的要因のハードルの低さによって大きな成果を出せるようになっているという面があると思います。

僕自身もそうで、僕自身が最初にリンカをイチから書き直そうと提案した時は、すごく強烈なプッシュバックを受けて、LLVM lldのオープンソースコミュニティとかからはかなり言われました。例えば「経験の足りない人はイチから書き直したがるけど、そういう書き直しがうまくいくことはほとんどない」みたいなことまで言われたりしました。

だけど、実際には僕はたぶん誰よりもよく理解していたし、結果論から言えば書き直しは大正解だったわけなんですね。次にもう1回同じようなことをやんや言われるのであれば……。前回は非常に心理的プレッシャーがかかっていたので、もうやりたくないところですが、実際にもう1回僕が何か別のことをやろうとしても、前回ほどはプッシュバックを受けないと思います。というのも、成功したトラックレコードがあるので、「まぁ、やれば?」というだけの話になると思うんですよ。なので、そういうのはやはりあると思います。

右:photo by Kevin Shockey
左:photo by National Inventors Hall of Fame

なぜ一部の会社や地域に成功している人たちが偏っているのか

では1回目の人はどうするんだという話です。当たり前の話ですが、僕らの使っているプログラムは、みんな誰かの書いたものなわけです。2023年現在では、ソフトウェアのクオリティはすごく高くて、とてもたくさんの大きな問題が解決された結果の、すごく洗練されたソフトウェアを僕らが毎日使っているわけです。

まわりにそういう大きな問題を解いて、正解的にインパクトのある仕事をしている人がいるかというと、そういう人は少数派だと思うんですよね。何ででしょうか? 言い換えれば、成功している人たちはなぜ一部の場所や会社や社会に偏っているのでしょうか。

僕がサンフランシスコ・ベイエリアというか、シリコンバレーで仕事をしていてなんとなく思ったのは、ここから半径50マイルぐらいの距離で、世の中の重要なソフトウェアの多くの部分が書かれているんだなということでした。

カンファレンスに行く時も、日本から行くんだったら飛行機に乗らないといけないんですが、シリコンバレーでやるカンファレンスであれば、車で20分走ってコンベンションセンターに行けばいいみたいな感じです。

そうするといつもの人たちがいて、そこでいろいろ議論をして、例えばC++標準の次の話をして、そこで実際にC++標準を書いている人たちと話をしていたりするわけです。

というか、GoogleのコンパイラチームはC++標準の筆頭の著者が普通にチーム内にいたので、そういうのに非常に近いところであったわけなんです。そういう環境だと、「重要なことはここで決まっていて、僕らが決めている」という感覚がありました。

なので、ソフトウェアのどこかをブラックボックスとして扱ったり、「このあたりは難しいから」とか「変えられないからワークアラウンドをがんばろう」みたいなことではなくて、「困っているんだったら変えればいいんじゃないの?」というアイデアが受け入れられる土壌がありました。こういうことが、シリコンバレーにソフトウェア産業が集積している理由の1つでもあると思います。

僕が言いたいのは、まわりの人が大きな問題の解決に正面から取り組んでいれば、自分も同じことがやりやすくなるという、ネットワーク効果的なものが確実にあるということです。

野心的なプロジェクトに取り組む心理的ハードルが少しでも下がればいい

この講演で何を伝えたいかというと、この講演における“まわりの人”のが僕で、“あなた”が前の僕、みたいな。

この講演を聞くことによって、野心的なプロジェクトに取り組む心理的ハードルが少しでも下がればいいなと思うんですよね。そういう効果は無視できることではないと思います。

なので、新しいプロジェクトをぶち上げて野心的にど真ん中から解決する。例えばなんかのツールが遅いなら、「じゃあ速くすれば?」と、すごく愚直なやつを作っちゃうみたいなことをやってみるといいと思います。

今はツールの進歩があって、大きなプロジェクトを日本から立ち上げるのもかなりやりやすくなっていると思います。例えば英語について言えば、リリースノートやバグや、議論でも、いろいろなことを、普通は英語でやらないといけないわけですが、そういうのも「ChatGPT」とかに英文を投げて校正してもらえば、驚くほどナチュラルな英語になります。ネイティブを超えたレベルの文章が出てきちゃうぐらいです。なので、1年前と比べてすごくハードルが下がっていると思うんですよね。なので、挑戦してみてはいかがでしょうか?

というわけで、これが講演の内容になります。ありがとうございました。