みたぬメモ

地味にメモ

【まつもとゆきひろ氏 講演】若手エンジニアの生存戦略レポート #colab_matz

【まつもとゆきひろ氏 特別講演】若手エンジニアの生存戦略 - connpassに参加してきました。若手エンジニアないしはエンジニアを目指す学生向けに、生存戦略を説く主旨の講演でした。まつもとゆきひろ氏とは、プログラミング言語Rubyを作った人です。 

 

全体的な内容はこちらのブログで非常にコンパクトに紹介されているのでご参照ください。

zuckey17.hatenablog.com

私のブログではまつもとゆきひろ氏もといMatz氏が語ったことを前半に紹介しつつ、後半に主観感想もまとめたいと思います。

 

■生き残るには? -死ななければいい。

「エンジニアの生存戦略、つまり生き残るには?」

その問いに「単純ながら、死ななければいい。」という皮切りでスタートした。

じゃあこの"死なない"ためにはどうするか。

そもそも生き残るとはどのような戦略を取ればいいのか?

Matz氏は「背景や環境など当然違うのだから、各人にあてはまる生存戦略というものは存在しない」とした上で、以下のように述べた。

 

■自分の生存戦略を知るための、戦略を知る(メタ戦略)

少なくともスタートアップ企業で生き残るには、頭がいい・IQが高いとかが重要ではなく、パターン認識能力が高いことであるということであるという科学的根拠を提示された。

(参考:起業家に必要なのは高いIQよりパターン認識能力 | TechCrunch Japan)

パターン認識能力とは、すなわちいろいろなケース(状況)の中から共通なものを見出して括り出す能力が重要である。

世の中のたくさんの人に対して、更にはなにかしらで困っている人がいて、それらのソリューションはこのツール(方法)であるという、問題把握能力と問題解決能力を合わせた意味でのパターン認識能力を鍛えることによって、自分を戦略的に鍛えることができるという話であった。

 

■じゃあ過去の成功者の事例(ロールモデル)から学んでいくべき?

とはいえ、過去の成功者と全く同じことをすることはできないし、過去の歴史を真似をするという観点で言うと、役にも立たないとバッサリ。(バタフライエフェクト/バタフライ効果の考え方) なぜならばそもそも自分も「どうしてRubyは成功したと思うか?」と聞かれても、ほとんどが後付け理由であり、そのときに成功するかどうかなんてわからないことから、成功者の真似をしても難しいとMatz氏の経験談も含めて指摘が入った。

そこで、成功者の体験をそのまま適用するのではなく一部を自分に適用して、自分が成功に導くパターンを抽出することが大事と話が続く。

 

■死なないためには、理不尽に気づく。

エンジニアが死ぬ前に、まず抑えてもらいたいこととして「みんながやっているということは、自分が我慢をする理由にならない」と断言。

我々の社会は我慢をすることに価値を見出しがちであるが、本来は成果という価値を提供することが正しいことをとにかく抑えましょうと熱弁されていた。

しかしどうしても「俺も我慢しているんだからお前も我慢しろ」、「皆が我慢しているのだから自分も我慢しなければならない」という社会的圧力が起こりやすい。

しかしこれはビジネス的に見たら価値は全くのゼロ、これは皆が苦痛を覚えるだけ

 

しかしもちろん必要な我慢というものはあって、あるソフトウェアが完成すれば皆が楽になるといったものを開発するときはそれなりの我慢は発生するだろうけど、でもそれも結果あってこその我慢。

客に会わない職種なのにスーツを着なければならないとか、あるツールを導入すれば作業が楽になるのに社内規則で導入しないだとか、新人だからという理由だけで5年前のPCを使うといった、どうしようもない理由の押し付けは理不尽であり、我々の敵だと認識する必要がある。

 

ここで、Perlの開発者であるラリー・ウォール氏の"プログラマ三大美徳"発言も引用される。(私は名前だけは聞いたことがあるけど、詳しく知らなかったので勉強になった。)

参考:プログラマーの三大美徳 | Money Forward Engineers' Blog

プログラマ三大美徳である「怠惰・短気・傲慢」の反対である「勤勉・寛容・謙遜」も大事ではある……大事ではあるけど、そこに「苦労・苦痛・我慢」も含まれているのがいけない。

勤勉を徳とする人は、あるいは他人が勤勉であることを求める社会というのは、誰かに苦労や我慢を押し付けているという無意識の価値構造になっていることに気づく必要があると指摘。

本来は「みんなも苦労しないし、僕も苦労しない」というのが理想なのではないかという意見提案がなされた。

しかしこの「無意識の価値構造」が非常に厄介で、自覚がないと本当に対処ができないとMatz氏。

 

■上から下まで勘違いをしている、何度でも言うが理不尽には気づかないといけない

「"会社は私の主人であり、私は会社の従属"という発想がそもそも間違いである。」と更に話は続く。

「私は自分の持っている知識・技術・才能・労力を差し出して価値を出しているわけで、会社は価値をお金に変えるためのチャネルを提供しているわけであって、本来なら契約関係として対等であるはず。」という気持ちを持っている必要がある。

「会社という組織はあなたたちを養っている」・「言うことを聞かないと会社はあなたを捨てる」という無自覚な刷り込みが発生しているが、ITは特に転職事情も発展しているので、そこはもう少し反抗期精神を主張してもいいのではないか?というなかなかアグレッシブな発言が飛び出す。

そして以下の発言に続いていく。

どうも我々の社会は生産性よりも忍耐という美徳を大事にする。

価値を大事にするよりも、秩序を大事にする方が大事だと思いがち。

それが結果として社会的圧力になるが、それは理不尽である

「理不尽は拒否してもいい、理不尽は拒否しなければならない。」

とした上で、社会的圧力は誰にも気付かれないことが多く、際限なく自分を縛ってしまう。そしてそれはいつか限界を超えてしまう。という話であった。

死なないにしても、具合が悪くなる。もっと前の時点で、「これはおかしい」と思わなければならないということを強調されていた。

理不尽さが自分の中に無意識に刷り込まれることの恐ろしさを説いてもらった。

 

■じゃあポジティブに考えよう、これからどうしようか?

少ない苦痛・我慢、あるいは我慢をしないで結果を得られたらそれは素晴らしいこととして、じゃあどうするか?「みんながやらないような、でもやっても問題のない"裏技"をやっていきましょう」、という提案に話は移っていく。そこで、

 ・空気を読まない

 ・目的を明確化にする

 ・理不尽を拒否しよう

の三点を紹介された。

他人を変えるのは難しいし、大きい組織でまずい価値観に出会ってもその組織自体は変わらないことが多い。

そんなときは「逃げてもいいんじゃないかなー」と考える

素晴らしいプロダクトを出すことや、価値を出すことがファーストプライオリティーではないと気づいたら、逃げるしかない

理不尽であると気づいたら、逃げるしかない。(本来の価値観にアプローチしていこう) アメリカ的な働き方だが、「work smart」でいこう。

仮に上司がダメなら例えば上司の上司に訴える、あるいは「こうやったほうが本質にフォーカスできる」ということがわかる人にアプローチをする。など。

そこにある理不尽に対して、声を上げよう。(これはおそらく上司に訴えろということのみではなく、自分の感性を信じて自分にとって次の適切な行動を取れ、という意味だと推測する。)

 

■我慢に価値を置かない お互いに勝つか、取引をしないか。

上司と自分との対立構造をどうするか?この問題に関して、ここで7つの習慣も引用される。(参考 : 7つの習慣 - Wikipedia )

二人のプレイヤーがいて、勝者・敗者が存在する。

そうなると組み合わせは以下の4種類

 ・win-win

 ・win-lose

 ・lose-win

 ・lose-lose

……win-winがもちろん一番いいけど、そうはうまくいかないことも多い。

片方が勝って、片方が負けるという取引もまま起きるだろうけど、そんな取引は永続しないので、それならそもそも取引しない方がいい。すなわち「No Deal」という5つめの組み合わせを選ぼう、という話が出た。

 つまり

 ・win-win(お互い勝つ)

 ・No Deal(取引しない)

の2通りだけでやっていくことを意識することが大事で、とにかく我慢に価値を置かないこと、みなさんを無限に食いつぶす価値はいらないということ、でも我慢をした結果、価値を得られるならやる方がいいという3つの視点をもらった。

本来のいい関係とは互いにリスペクトがあるはずであって、「俺が上司だから俺の言うことを聞け」といった理不尽な主従ではないのである。生産性のない綱引きほどビジネスで意味のないことはない、という話であった。

 

■じゃあ更に具体的に、どうやって生存戦略を取っていこうか。

Matz氏は「こっちに行けば幸せになれそう」という勘と「社会的圧力に対する鈍感さ」もあったことで、なんとかやってこれたと述懐。しかしその能力が皆に備わっているわけでもない。

じゃあどうするか?まずは社会的圧力に対して鈍感になっていくことが大事という話になった。

そして、自分の技術をもう一つの技術(能力)と組み合わせてやっていくこと。一つの技術のみで勝とうとするのは非常に難しい。すぐに後陣に抜かれる可能性もあるし、だったら何かと何かの組み合わせ、例えば農業×IoTで戦って行った方が非常に賢い。

これは技術でなくてもよくて、まずは自分の持っているもの・興味のもっているもの・続けられるもの・自然とやってしまうことなどを自分の中で棚卸をして、そこから組み合わせてやっていくことが大事。

「僕はプログラミング言語を作りたいと思っていて、でも、他の人はそうではなかった。結果論ではあるけど他の人と違うことは、メリットである。」という話をRubyの開発を25年続けている経験談、そしてだいたいのソフトウェアは25年も続かないという事実とも合わせて語られていた。「こういう言語にしたら幸せになれそう」という勘も働かせたら、結構うまく行ったというエピソードが会場の笑いを誘っていた。

次に、思い込みを打破していくこと。ちなみにバグ原因の99%も思い込み、らしい(要出典)

人間はものすごく思い込みに弱いから、詐欺もまかり通るとした上で、「思い込みとはある種のキャッシュのようなもので、それを消していく必要がある」というIT業界ならではの喩えが秀逸でした。

この社会的価値観キャッシュとは非常に厄介で、たとえば「大企業に入れば安泰」というものは時代やそのときの環境によって本当は変化させないといけない価値観なのに、そのまま信じてしまう。けどそれではいけないという話。

我々が幸せになるのに、もはや役に立たないキャッシュもあるということを自覚しなければならない」とMatz氏。

 

■我々の人生の多くは「問題解決」という枠組みで考えられる

問題の本質とは何か、とMatz氏。

そもそも問題は解決できるのか、それは本当にソフトウェアによってのみなのか?そうやって思考することが、同じ原則が人生にも適用できるという話に続く。

 

■インプットとアウトプットのバランスを取っていく

勉強するというインプットは当然必要とした上で、更に「でもインプットしただけでは、我々は差別化できない」ので、「どんなアウトプットでも重要」とMatz氏の熱弁が続く。

「こわい、恥ずかしい、炎上するかもしれない、そもそもチャンスがない」と思うかもしれないけど、そもそもそれすらも「思い込みではないか?」と考えてみる必要があるように思うという話。

「目立ちたくない」という心理的障壁は本来我々に本能的に組み込まれたものであるが、これを超えられた人が強いこと、クオリティはとにかく棚上げして、まずはやってみる精神が大事人間の可塑性に賭けていこう。(これはおそらく、自分だけではなく他者の将来性やポテンシャルも信じていこうという文脈であると予測している)

 

■エンジニアが生き残るには? まとめ

・理不尽を拒否しよう

・鈍感になろう

・プログラミング能力を鍛えることで、問題解決能力を身につけよう

・人生に適することで、人生問題解決を図ろう

・人間(自分/周り)の心理に興味を持とう

・思い込みを打破しよう

 

■感想

とにかく素晴らしい講演でした。これらの内容はエンジニアのみに留まらず、ありとあらゆる職業人や、ないしは学生の方々にも、もっといえば人間関係にも拡張して適用することができるのではないかと思いました。

特に理不尽に気づくというのは、幸せに生きる上で非常に重要な観点であると私も思います。本来人間は幸せに生きたい動物であるのにも関わらず、あえて苦痛の道を同調圧力によって選んでしまうわけで、これは非常にもったいないことであると改めて思いました。特に今後の日本は人口減少問題は避けられない現実であって、如何に人は効率よく働くかが重要課題であり、そこで無意味に疲弊することはあってはいけないと思っていたのでMatz氏の意見には深く首肯しました。

そして何か一つのプログラミング言語能力を鍛えるということは、結局のところ問題解決能力を鍛えるという話には、目から鱗でした。(お恥ずかしながら、自分の持てる手段が壮大な問題すら取り組めるということまで、考えがあまり至っていなかったことと、壮大な問題であるとすら認識できていなかったのだと思います。) どんな勉強も、何かしらの課題や問題にあたったときに、極論自分を幸せに導いてくれる方法を教えてくれるものと考えれば、学習は苦痛ではないかもしれません。

非常にすばらしい気づきのある講演でした。

 

(5/23・追記)登壇者であるまつもとゆきひろ氏、主催のサポーターズColabさま, 協賛企業のSpeeeさま, DRECOMさまにはこのような素晴らしい講演の場に参加させてくださいまして、深く感謝を申し上げます。

更に(もちろんまつもとゆきひろ氏の言葉がそれだけ素晴らしいものであると承知で)、拙文が多くの方の目に触れたことに関しまして、ご覧いただいた皆様にも深くお礼申し上げます。