「知的生産では圧倒的な差がつく」ことを心に刻むために読む3つの文章
知的生産では圧倒的な差がつく
忘れもしない数学の授業があります。中1の頃でした。
「1024人でトーナメント戦をやります。優勝者が決まるまでに合計で何回試合が行われるでしょうか。」という問題が出され、私は意気揚々と手を上げてクラスの前で解法を発表していました。
「1回戦ごとに2人1組で試合が行われて、人数が半分になっていくので、答えは512+256+128+…+4+2+1=1023回です!」
答えは正解でした。クラスの誰よりも早く解法を思いつき、計算を行い、上手に発表した自分を誇りました。数秒後に、先生の口から驚きの別解を聞くまでは。
「結局、1試合ごとに1人脱落者が出るってことですから、1023人の脱落者を決めるには1023回の試合をせなあかんっちゅうことですなあ。」
頭を使うことに関しての生産性には、ぐうの音もでないような圧倒的な差がつく。そのことを一瞬で理解した出来事でした。私が東京から大阪まで全力チャリ走で移動して満足していたところに、東京にいたはずの先生がどこでもドアでひょいと空間を飛び越えて現れた。そのくらいの衝撃がありました。
「知的生産では圧倒的な差がつく」というのはこの授業に限った話ではありません。「なんでそんなアイデアが思いつくんだ」「どうしてそんなに仕事が早く終わるんだ」というような体験を、皆さんも一度はしたことがあるでしょう。
私にはこの「知的生産では圧倒的な差がつく」という厳しい事実を深く心に刻んでおくために、定期的に読み返している3つの文章があります。今回は皆さんにそちらをご紹介します。
圧倒的な知性
まずはこちらの文章です。
Twitter で医師を拾ってきて Google のソフトウェアエンジニアにするだけの簡単なお仕事
「とある元Googleの方がネットでGoogleを受けるらしい医師を見かけて、その人の面接対策をしてあげたときの裏話について」の文章…なのですが、そんな説明は全く本質的ではなくて、正直どう言い表せばいいのかよくわかってません。自分とは格の違う圧倒的な知性がこの世には存在していて、そんな人が我々「一般人」にもギリわかる日本語で彼の見えている世界を描いてくれている。そういう風に受け取ってます。
著者の方はGoogleでソフトウェアエンジニアをしてらしたそうで、それだけでも私としては頭が上がらないくらいなんですが、それだけには留まらない、「!?」というような知性が文章の至るところに見られます。
学生時代、成績が悪くて志望校を変えろといわれたのでどうしたらいいか見てやって欲しいと言われた小学生が2人いたのですが、それぞれ開成中学と桜蔭中学に入っていきました。偏差値40や50からでもなんとでもなりますね。
(Google志望の人に)「何をどれくらい知っていなくてはいけないのか」と聞かれたので、ちょっと考えてから、右手を前に突き出しました。手を開いた状態で右手を伸ばしたあとに、「手を握ります」と宣言してからゆっくりと手を握ってみせました。「いま、手を握ろうと思ってから握るまでのあいだに起きたことをできるだけ詳細に説明してください。」
いままで鉄門を何人か教えてきたので、医師にはこれが一番通じると思ったのです。前頭前野。運動野。頚椎。腕神経叢。ミオシン。アクチン。
新型コロナウイルス感染症が日本に来た頃に「マスクを医療従事者に」というクラウドファンディングを立ち上げまして、1.5億円集めて500以上の病院にマスクを寄付しました。トップページの文章はだいたい口述筆記してもらったもので、また輸入元と配布先の選定を主にやっていました。
人間なら誰しも「自分ってちょっと優秀じゃない?」と思う瞬間があると思うのですが、そんなしょうもない優越感はすぐに吹き飛んでしまいますね。
囲碁や将棋には田舎初段という言葉があって、正規の訓練を受けた人からは相手にされるほど強くないが、素人になら無双できるレベルというのがあるんです。レベル5くらい、と私は時々表現します。
多くの能力について、初級のときに身につけるスキルとその後にずれがあります。たとえば、数学をするにしてもはじめは九九の暗唱をします。それが得意であれば、レベル5くらいまでにはなります。それをよしとするかあしとするかはともかく、大学受験までは芸大でもなければ、田舎初段で通ってしまうというのが日本の水準です。東大でも数学が得意だと名乗って証明と称するグロテスクな画像をネットにあげている人いますよね。
Google の入社試験は、そういう意味では田舎初段では難しい、ただ、レベルが10あれば通る可能性がでてきて、レベルが30くらいあれば余裕というのが私の感覚です。
世の中には、自分のような凡人にとって「想像するのがギリ」くらいの圧倒的な知性が存在していて、自分はレベル5、いや、せいぜいレベル4なのである。この文章にはそんなことを思い出させてもらっています。筆者の方は、こんなこともおっしゃってますからね。
後輩に会ったときに、この記事を読めていない人があまりに多くて友人たちと首をひねっていると言ったら、「偏差値教育の結果、人間の能力が実数上に一直線に並ぶと思っているから読めないんだよ」といわれ、とりあえず、そりゃ何言っているかまったく読めねえわ、と納得した。https://t.co/80QGOySpHE
— {白,黒}のカピバラの左随伴右随伴 (@ainsophyao) May 25, 2021
圧倒的な生産性
次はこちらの文章です。
Microsoftで働く日本人エンジニアの方が、同僚である世界トップレベルのエンジニアの仕事ぶりを見て、その生産性の違いに衝撃を受けた様子が生々しく描かれています。
一緒に彼と問題の解決に当たった。自分だったらいろんなログをクエリーしたり、コードを見たりとか、いろいろじたばたするところだが、彼は最初の一つのログだけを見て、「仮説」を立て始めた。
手は一切動かさない。彼はしゃべりながら、アーキテクチャがこうなっていてこのログがこうなっているから、自分の推測では、こういうことが起こっていると思われる。だから、自分が調べるべきはこのテーブルといって、SQLを1つだけ実行した。それがまさに問題の原因を表していた。
自分だったらああでもない、こうでもないといろいろクエリーしたりコード見たりするところだが、彼は手を動かしたのはその一回きりで、自分なら数時間以上かかる問題を一瞬で解いて見せた。
プログラミングの生産性というのは圧倒的な「頭脳労働」であるということを実感した瞬間だった。その「頭脳」によって、生産性がクソほど違うというのはこういうことなのだろう。
この世には圧倒的な知性が存在する。頭脳労働(=知的生産)では生産性に驚くほど圧倒的な差がつく。
そんな中で、自分は頭脳労働で一体何を生み出すことができているのでしょうか。そう自問せずにはいられません。
圧倒的な習熟度
瀕死のところすみません、こちらがトドメの文章です。
こちらは登大遊さんという著名なエンジニアのブログです。日本のITエンジニア界隈ではかなり有名で、知らない人はほとんどいないのではないでしょうか。
彼は大学生の頃から「多い月で 10 万行 / 月くらい」のコードを書くなどという圧倒的な生産性を誇っていて、この投稿ではその秘訣を語っています。私たちにとって非常に論理的な作業に思えるプログラミングを、彼は「徹底して論理的な思考をせずに行え」と言います。
まず、だいたいこういうソフトウェアがあればいいなあとか、このような機能を付ける必要があるなとかいった、とても抽象的なことを思い浮かべる。この際、「絶対に論理的に考えないこと」が必要である。
次に、だいたいイメージができたところで、心の中に、ソフトウェアの設計図やデータ構造といったものを思い起こす。ここで注意するのは、「絶対に論理的に考えて設計をしないこと」である。徹底して、感覚的な思考でもって設計する。
上記までで、ほぼすべての作業は完了している。残された仕事として、最後に、コンピュータに対して、プログラミングを行う必要がある。
コンピュータの前に座って、キーボードの上に両手を置けば、後はあまり考える必要はない。自動的に手がキーボードを打ち、プログラムを入力して完成させてくれる。この処理は一切、論理的思考では行われていないので、途中で論理的思考を行うことは厳禁である (作業の邪魔になる)。ひたすら何も考えない。
最初は「やべえ、よくわかんないし、なんかアタマ痛い…」と思って読んでいたのですが、何回も読み返すにつれて「ああ、これはシャンプーの話だな」と感じるようになりました。
どういうことかと言いますと…。
お風呂に入るとき、気づいたら浴室を出て頭を拭いていて、「あれ、いつの間にあがってた?ちゃんとシャンプーしたんだっけ…?」ってなるときありませんか?それで髪の毛の匂いを嗅いで「あ、したんだわ…」って気づくやつ、人生に一回くらいはあると思うのですが。
「論理的思考の放棄」は、この現象と似た話なのだと思っています。
「いつのまにかシャンプーが終わってる」というのは、「何も考えなくてもシャンプーができている」ということです。
それは、私たちが何年も何年もシャンプーという動作を繰り返した結果、シャンプーにとても習熟していて、なおかつ完成形、つまり「お風呂上がり」のイメージを明確に持っているからでしょう。
「論理的思考の放棄」を書いた登さんはこれをシャンプーではなくプログラミングでやっている。つまり。彼は真にプログラミングに習熟していて、ソフトウェアの完成形のイメージを明確に持っているから、何も考えずプログラミングできてしまう。
そういうことなんじゃないかと思うんです。
シャンプーくらい習熟している頭脳労働が、あなたにはありますか?
希望を持つ
私がこれらの文章を読み返すのは「どうせ自分なんかなにやってもしょうがないんだ」と逃避行に走るためではありません。むしろその逆で、「日々の積み重ねをきちんと行い習熟することができれば、いずれ爆発的な生産性を出すことができる」と希望を持つためです。
2番目の文章、**プログラミングというより物事が出来るようになる思考法**では、トップレベルのエンジニアの生産性に驚いた後、「どんなに頭のいい人でも最初からできるわけじゃない。そう見えるのは、時間をかけて積み重ねてきたものがあるからだ。」ということを発見し、「理解に時間をかける」という習慣によって自らがそれに近づいていく様子が描かれています。
そうやって、「理解は時間がかかるもの」として、早くしようとせず、徹底的に理解する習慣をつけていくと、自分の人生でかつて経験したことが無いことが起こった。以前はメモを取りまくっていたコードリーディングもゆっくり理解することで100%挙動が理解出来ているし、その確信がある。デバッグの時も少ないログをゆっくり観察して、従来読み飛ばしていたようなログの他の項目も見ることで、圧倒的に試行錯誤が減って問題に一直線に解決できるようになってきた。
そして、何より最高なのが人生で初めて何かわからないことがあっても**「自分ならやれる」と思えた**ことだ。この感覚が欲しくて50年間あがいてきたのだ、それがやっと手に入った。
私はみんなより頭が悪いとずっと思っていた。事実どんなに努力しても、時間と金をぶち込んでも、いつもできなかったのだ。しかし、それは頭ではなかった。単なる思考の習慣だった。
たしかに世の中には自分とは比べ物にならないような知性が存在するのかもしれませんが、それはきっと習慣によって築き上げられた習熟なのでしょう。凡人の私がやるべきことは、小手先のハックでもなく、現実逃避の泣き寝入りでもなく、少しずつ確かな一歩を積み重ねていくことです。
やみくもに取り組むのではなく、時間をかけて理解していく。最初はなかなかペイできないかもしれませんが、後で必ず報われる時が来ると信じています。知的生産では驚くほど圧倒的な差が出るのですから。
追伸:3つと言いましたが、もしこれらの文章がお好きでしたらこちらも気に入ると思います。
Please Share
この投稿が参考になったらぜひシェアしてください。 あなたの感想がBoctozの力になります😊