【まつもとゆきひろ氏 特別講演】若手エンジニアの生存戦略 - connpassに参加してきました。まつもとゆきひろ氏とは、プログラミング言語・Rubyを作った人です。
おおよその内容はこちらのブログで非常にコンパクトにわかりやすく紹介されているのでご参照ください。
私のブログではまつもとゆきひろ氏もといMatz氏が語ったことを前半に紹介しつつ、後半に主観感想もまとめたいと思います。
■生き残るには? -死ななければいい。
じゃあこの"死なない"ためにはどうするか。
そもそも生き残るとはどのような戦略を取ればいいのか?
Matz氏は「背景や環境など当然違うのだから、各人にあてはまる生存戦略というものは存在しない」とした上で、以下のように述べた。
■自分の生存戦略を知るための、戦略を知る(メタ戦略)
少なくともスタートアップ企業で生き残るには、頭がいい・IQが高いとかが重要ではなく、パターン認識能力が高いことであるということであるという科学的根拠を提示された。
(参考:起業家に必要なのは高いIQよりパターン認識能力 | TechCrunch Japan)
パターン認識能力とは、すなわちいろいろなケース(状況)の中から共通なものを見出して括り出す能力が重要である。
世の中のたくさんの人に対して、更にはなにかしらで困っている人がいて、それらのソリューションはこのツール(方法)であるという、問題把握能力と問題解決能力を合わせた意味でのパターン認識能力を鍛えることによって、自分を戦略的に鍛えることができるという話であった。
■じゃあ過去の成功者の事例から学んでいくべき?
とはいえ、過去の成功者と全く同じことをすることはできないし(バタフライエフェクトの考え方)、過去の歴史を真似をするという観点で言うと、役にも立たないとバッサリ。なぜならばそもそも自分も「どうしてRubyは成功したと思うか?」と聞かれても、ほとんどが後付けであって、成功者の真似をしても難しいと自らの経験話を披露。
そこで、自分に適用して成功に導くパターンを抽出することが大事。
■死なないためには、理不尽に気づく。
エンジニアが死ぬ前に、まず抑えてもらいたいこととして「みんながやっているということは、自分が我慢をする理由にならない」と断言。
我々の社会は我慢をすることに価値を見出しがちであるが、本来は成果という価値を提供することが正しいことをとにかく抑えましょうと熱弁されていた。
しかしどうしても「俺も我慢しているんだからお前も我慢しろ」、「皆が我慢しているのだから自分も我慢しなければならない」という社会的圧力が起こりやすい。
しかしこれはビジネス的に見たら価値は全くのゼロ、これは皆が苦痛を覚えるだけ。
しかしもちろん必要な我慢というものはあって、あるソフトウェアが完成すれば皆が楽になるといったものを開発するときはそれなりの我慢は発生するだろうけど、でもそれも結果あってこその我慢。
客に会わない職種なのにスーツを着なければならないとか、あるツールを導入すれば作業が楽になるのに社内規則で導入しないだとか、新人だからという理由だけで5年前のPCを使うといった、どうしようもない理由の押し付けは理不尽であり、我々の敵だと認識する必要がある。
ここで、Perlの開発者であるラリー・ウォール氏の"プログラマ三大美徳"発言も引用される。(私は名前だけは聞いたことがあるけど、詳しく知らなかったので勉強になった。)
参考:プログラマーの三大美徳 | Money Forward Engineers' Blog
プログラマ三大美徳である「怠惰・短気・傲慢」の反対である「勤勉・寛容・謙遜」も大事ではある……大事ではあるけど、そこに「苦労・苦痛・我慢」も含まれているのがいけない。
勤勉を徳とする人は、あるいは他人が勤勉であることを求める社会というのは、誰かに苦労や我慢を押し付けているという無意識の価値構造になっていることに気づく必要があると指摘。
本来は「みんなも苦労しないし、僕も苦労しない」というのが理想なのではないかという意見提案がなされた。
しかしこの「無意識の価値構造」が非常に厄介で、自覚がないと本当に対処ができないとMatz氏。
Matz氏「労働は我慢ではない。報酬とは、皆さんが感じる我慢の対価ではなく、Valueを提供したことに対する対価。Valueを提供したことに対価をもらうのは当然。苦しんでやる必要はそもそもない。」#colab_matz
— みたぬ@KHO大阪昼夜 (@srknr) 2017年5月20日
■上から下まで勘違いをしている、何度でも言うが理不尽には気づかないといけない
「"会社は私の主人であり、私は会社の従属"という発想がそもそも間違いである。」と更に話は続く。
「私は自分の持っている知識・技術・才能・労力を差し出して価値を出しているわけで、会社は価値をお金に変えるためのチャネルを提供しているわけであって、本来なら契約関係として対等であるはず。」という気持ちを持っている必要がある。
「会社という組織はあなたたちを養っている」・「言うことを聞かないと会社はあなたを捨てる」という無自覚な刷り込みが発生しているが、ITは特に転職事情も発展しているので、そこはもう少し反抗期精神を主張してもいいのではないか?というなかなかアグレッシブな発言が飛び出す。
そして以下の発言に続いていく。
どうも我々の社会は生産性よりも忍耐という美徳を大事にする。
価値を大事にするよりも、秩序を大事にする方が大事だと思いがち。
それが結果として社会的圧力になるが、それは理不尽である。
「理不尽は拒否してもいい、理不尽は拒否しなければならない。」
とした上で、社会的圧力は誰にも気付かれないことが多く、際限なく自分を縛ってしまう。そしてそれはいつか限界を超えてしまう。という話であった。
理不尽さが自分の中に無意識に刷り込まれることの恐ろしさを説いてもらった。
■じゃあポジティブに、これからどうしようか?
少ない苦痛・我慢、あるいは我慢をしないで結果を得られたらそれは素晴らしいこととして、じゃあどうするか?
・空気を読まない
・目的を明確化にする
・理不尽を拒否しよう
の三点を紹介された。
他人を変えるのは難しいし、大きい組織でまずい価値観に出会ってもその組織自体は変わらないことが多い。
そんなときは「逃げてもいいんじゃないかなー」と考える。
素晴らしいプロダクトを出すことや、価値を出すことがファーストプライオリティーではないと気づいたら、逃げるしかない。
理不尽であると気づいたら、逃げるしかない。
そこにある理不尽に対して、声を上げよう。(これはおそらく上司に訴えろということのみではなく、自分の感性を信じて自分にとって次の適切な行動を取れ、という意味だと推測する。)
■我慢に価値を置かない お互いに勝つか、取引をしないか。
二人のプレイヤーがいて、勝者・敗者が存在する。
そうなると組み合わせは以下の4種類
・win-lose
・lose-win
・lose-lose
……win-winがもちろん一番いいけど、そうはうまくいかないことも多い。
片方が勝って、片方が負けるという取引もまま起きるだろうけど、そんな取引は永続しないので、それならそもそも取引しない方がいい。すなわち「No Deal」という5つめの組み合わせを選ぼう、という話が出た。
Matz氏「片方が勝って片方が負けるという取引は永続しないので、それならそもそも取引しない方がいい。No deal、そもそも取引しないというやり方がある。場合によっては逃げてもいい。死なないためには非常に必要」これはエンジニアに関わらず人間関係全般に言える#colab_matz
— みたぬ@KHO大阪昼夜 (@srknr) 2017年5月20日
つまり
・win-win(お互い勝つ)
・No Deal(取引しない)
の2通りだけでやっていくことを意識することが大事で、とにかく我慢に価値を置かないこと、みなさんを無限に食いつぶす価値はいらないということ、でも我慢をした結果、価値を得られるならやる方がいいという3つの視点をもらった。
■じゃあ具体的に、どうやって生存戦略を取っていこうか。
Matz氏は「こっちに行けば幸せになれそう」という勘もあったことで、なんとかやってこれたと述懐。しかし勘は皆に備わっているわけでもない。
じゃあどうするか?まずは社会的圧力に対して鈍感になっていくことが大事という話になった。
そして、自分の技術をもう一つの技術と組み合わせてやっていくこと。一つの技術のみで勝とうとするのは非常に難しい。すぐに後陣に抜かれる可能性もあるし、だったら何かと何かの組み合わせ、例えば農業×IoTで戦って行った方が非常に賢い。
次に、思い込みを打破していくこと。
人間はものすごく思い込みに弱いから、詐欺もまかり通るとした上で、「思い込みとはある種のキャッシュのようなもので、それを消していく必要がある」というIT業界ならではの喩えが秀逸でした。
Matz氏「"キャッシュの無効化と、何かに名前をつけることは非常に難しい"という言葉がCS界にあるけど、これは人間社会にも言えて、元々存在していた社会的価値とされるものはインバリデーションしないといけないもの。キャッシュを無効化して時代に則さないといけない」#colab_matz
— みたぬ@KHO大阪昼夜 (@srknr) 2017年5月20日
この社会的価値観キャッシュとは非常に厄介で、たとえば「大企業に入れば安泰」というものは時代やそのときの環境によって本当は変化させないといけない価値観なのに、そのまま信じてしまう。けどそれではいけないという話。
「我々が幸せになるのに、もはや役に立たないキャッシュもあるということを自覚しなければならない」とMatz氏。
■我々の人生の多くは「問題解決」という枠組みで考えられる
問題の本質とは何か、とMatz氏。
そもそも問題は解決できるのか、それは本当にソフトウェアによってのみなのか?そうやって思考することが、同じ原則が人生にも適用できるという話に続く。
■インプットとアウトプットのバランスを取っていく
勉強するというインプットは当然必要とした上で、更に「でもインプットしただけでは、我々は差別化できない」ので、「どんなアウトプットでも重要」とMatz氏の熱弁が続く。
「こわい、恥ずかしい、炎上するかもしれない、そもそもチャンスがない」と思うかもしれないけど、そもそもそれすらも「思い込みではないか?」と考えてみる必要があるように思うという話。
「目立ちたくない」という心理的障壁は本来我々に本能的に組み込まれたものであるが、これを超えられた人が強いこと、クオリティはとにかく棚上げして、まずはやってみる精神が大事。
■まとめ
・理不尽を拒否しよう
・鈍感になろう
・プログラミング能力を鍛えることで、問題解決能力を身につけよう
・人生に適することで、人生問題解決を図ろう
・人間(自分/周り)の心理に興味を持とう
・思い込みを打破しよう
■感想
とにかく素晴らしい講演でした。これらの内容はエンジニアのみに留まらず、ありとあらゆる職業人や、ないしは学生の方々にも仕事や部活、もっといえば人間関係にも拡張して適用することができるのではないかと思いました。
特に理不尽に気づくというのは、幸せに生きる上で非常に重要な観点であると私も思います。本来人間は幸せに生きたい動物であるのにも関わらず、あえて苦痛の道を同調圧力によって選んでしまうわけで、これは非常にもったいないことであると改めて思いました。特に今後の日本は人口減少問題は避けられない現実であって、如何に人は効率よく働くかが重要課題であり、そこで疲弊することはあってはいけないと思っていたのでMatz氏の意見には深く首肯しました。
そして何か一つのプログラミング言語能力を鍛えるということは、結局のところ問題解決能力を鍛えるという話には目から鱗でした。そう考えると、どんな勉強も何かしらの課題にあたったときに、どのように解決すれば自分を幸せに導けるかの一つの視野を導いてくれるものでしかないと考えれば、学習は苦痛ではないかもしれません。
非常にすばらしい気づきのある講演でした。