Rubyの生みの親Matzことまつもとゆきひろさんの講演「若手エンジニアの生存戦略」に行ってきました。
講演中や後に感じた雑感と、取っていた講演メモをまとめます。聴きながら書いたメモなので乱筆はお許しください😃
感想
- 去年の同じ時期に開催され話題になっていたので、ぜひ行きたいと思いイベントページが開かれた瞬間応募した。
- サポーターズのオフィス&会場きれい!
- 最初に「メタ戦略」を持つことの重要のお話があったが、非常に納得。うまく行った事例、というか事例とまで行かない日々の小さなできごとについて、全く同じ条件が回ってくることはまずないので、そこからエッセンスを取り出すことの必要性は「KPT」などの振り返りフレームワークでもなんども語られている。
- 今回聞いたMatzのロールモデルもメタ戦略を作る材料にしなきゃいけない。
- というかそうしろと言っていた気がした。なので自身のメタ戦略を話す時に「まあ答え合わせになっちゃうんですけど」と半笑いだったのかなと
- 「リアル世界でチートを使う」という表現は、「そんな表現があるのか」と驚いた。割とみんな「Don't work hard ,work smart」じゃないよねと最近思っていたので、「リアル世界でチートを使う」という表現はいろんなところで使っていきたい。
- 「20代エンジニア」という対象層が広かったためか、目新しい話はそんなになかった気がするが、自分の持っている思考やモヤモヤを言語化した言葉をたくさん知れたのでよかった。
- たくさんの人のメタ戦略を聞いて、そっから自分のメタ戦略をどんどんアップデートしていきたいと思った。
- 「しんどい所からは逃げろ」が一貫していた。質問で「周りがしんどいことをしていたらどうすればいい?」と聞いたら「逃げろ」だけ教えてくれた。わかる。
- アウトプット大事!ただそれを恐れてしなくなるのは人間の本能だという話を聞いて、安心感を感じるとともに、自分のモヤモヤの理由を言語化できた。そして「本能に従うことにそんなに価値はない」そうなのでどんどん出していきたいと思った。
- ということで、帰り道の駅のベンチでPC叩いて書いてます
講演内容
とりあえず聞いたことを全部書いたのでめっちゃ長文になりました。見出しだけをどんどん読んでいくと話の筋がわかると思います。
サポーターズ楓さん挨拶
自己紹介
- 地方やエンジニアに課題感
- エンジニアすごいのに恵まれてない!
- (勝手に)皆さんのキャリアを応援しています!
サポーターズ紹介
- 過去2年で1億円以上の交通費を支給
- 1日2回勉強会やってます
サトアズ(@satoazu_sp)の紹介
- pythonとgoをやってます
- Tシャツも売ってるよ
今日の目的
- matzのご尊顔を拝もう
- エンジニアとしての生き方、勝ち抜き方を考える
- 何かを始めるきっかけにしてください
Matzさん講演
Matz自己紹介
- フルネームが長いので英語圏ではmatz
- ニックネームじゃなくてファーストネームを読んでもらったらぞわぞわする
- ドイツ系だとMatzという苗字がある
- 「rubyを作った人です」
- いろいろ賞をもらいました。日本で一番有名なプログラマー
- 政府IT総合戦略本部委員
- 首相会議に行って話しているが、あんまり意見が採用されているような気がしない・・・
- 松江市の名誉市民
生存戦略
- 生き残るには「死なないことが一番」
- IT業界は「大変な働き方」をする人が多い
- なので一生懸命働いちゃう→「たやすく絡みつく死の鎖」
- 命が危ない
- 誰にでも適応できる生存戦略はない
- 具体的な方法はあまりないが、学ぶべきことはある
- 成功した経営者にアンケート
- X IQ、学校の成績、コミュニケーション能力
- ◯ パターン認識能力が高い人が多い
パターン認識≒抽象化
- 抽象化が大事
- 毎回違う状況に対して適用できるのは何かを感じ取る
- 「メタ戦略」→共通のパターン戦略
- 「メタ思考」→メタ的な考え方を中心にする
- 人間の強み
- 抽象化の強み
- 具体的なものは寿命が短い
- アプリ解説書VSアルゴリズム解説書
- アプリ→言語→OS
- 抽象度が高いものほど寿命が長い
- 具体的なものは寿命が短い
- 抽象化が万能ではない
- アーキテクチャ宇宙飛行士
- どこまでも高みに行って話が通じなくなる
- 抽象化のモレ、例外が生まれる
ロールモデル
今日はロールモデルとしてここでお話ししているかもしれないが、真似することは無理です
- 環境が違う(インターネットがない時代だった)
- バタフライエフェクト(映画みてね)
- 過去のことを話すが完全に記憶している訳ではない→バタフライエフェクトで役に立たない
- Matzの経験からパターンを引き出すことが今日の課題
昔の話
- 12歳でボードマイコンに遭遇
- プログラミングを理解するには至らなかった
- 15歳でポケットコンピュータ
- 初めてのプログラミング
- 限られたプログラミング環境→すぐに辛くなる
- 高校の時にPascal入門
- 大学→ここは天国か
就職
- 通勤が苦痛で東京で働きたくなかった
- 浜松に就職→職住近接
- 同期200人居たが、コンピューターサイエンスを専攻して居た人は6人
- 社内システムを作って居た
- 「どうあるべきか」を決められる
- どう実装するかも裁量が与えられていた
- 大掃除の時にスーツじゃない服を来て行っても問題なかった
- 怒られて説明して風穴を開けようと思ってTシャツとジーンズで行った
- でも誰も触れてくれない
ここからパターン認識をしてみると
- 鶏口牛後
- 大きな組織に追従することはあんまり意味がない
- 我慢の価値
- 「頑張って」は英語に訳せない
- 頑張ることをよしとする社会にいる
- 「みんながやっているから我慢」はあまり理由にならない
- 目的のある我慢
- 納得できない理由で我慢を押し付けられることは結構ある
プログラマ三大美徳
- 怠惰 全体の労力を減らすために手間を惜しまない←もっとも大切
- 短気 コンピューターが怠慢な時に感じる怒り
- 傲慢 人様に対して恥ずかしくないプログラムを書こうとする気質
- 普通ならこっちだよね
- 勤勉
- 美徳
- 寛容
上から下まで勘違い
- 社会的な圧力
- 「我慢」に価値
- 苦痛に耐えることに価値を見出す構造に無自覚
- 労働は我慢ではない
- 報酬は価値の対価
- 理不尽は拒否しなければならない
- 理不尽への我慢は死につながる
- でも我慢に鈍感になってしまう
- そしていつか「致死量」を迎え死ぬ→ダメ絶対
- ポジティブ思考
- みんながやらないやってもいいこと
- 「ずるい!」って言われるが・・・
- ゲームでは裏技と言われる
- リアル世界でチート使えたらいいよね
- 少ない苦痛
- 少ない我慢
- みんながやらないやってもいいこと
リアル世界でチートを使う
- 空気を読まない
- 成果をあげる
- 成果を上げていれば無理は通る
- Don't work hard ,work smart
- 価値観にアプローチする
- 上司に付き従うことが無価値であることを説明する
- 会社が嬉しい価値は0
- 上司が喜ぶだけ
- 上司に付き従うことが無価値であることを説明する
- 社会的圧力を自覚する
- 理不尽に対して声をあげる
- 扱いにくい部下でもいいよね
- 言った方がいいことも多い
- win-winな関係を築く
- 長く続く関係はwin-winかno deal(取引しない)
- 場合によっては逃げること
メタ戦略を考える
- 我慢に価値を置かない
- 社会的圧力に負けない
- 自覚的・自発的になる
- 本能は現代社会の持つ問題、圧力を感じ取ることができない→自覚的になる必要
- いつもするのはめんどくさいが、要所での判断は自分の判断で行わなくてはならない
- 脳内のプログラム、社会的圧力に流されない
- 自分を知る
- Matzがどうかではなく自分がどうか
- 自分がどういう状態か、どういう環境について知っていれば百戦危うからず
- 継続すること
- 勘「こっちに行くと幸せになれそう」は大事
- 社会的圧力に対する鈍感さ
- 「空気を読める」ことは自分を苦しめることもある
- 時たま捨てましょう
- 思い込みに自覚的になる
- 思い込みってキャッシュみたいなもの
- 無効化が効かないキャッシュ
- 昔(=そのキャッシュが作られた時)は意味があったかもしれないが
- バグ原因の95%は思い込み
- プログラマーの仕事は問題把握から始まる生産性向上
- 同じ原則を人生にも適用→プログラマーは人生の勝ち組
コントロール意識
- けなす、叱ると生産性は容易に下がる
- コントロールできないと感じる(=強制される)と生産性低下
- コントロール意識→物事、道具を自分がコントロールしているという意識
- プログラミングの醍醐味の1つは万能感(=コントロール意識)
- コンピューターをコントロールして価値を産むべき
- コンピュータの奴隷になりがち
- 意識的に「コンピューターの主人だ」と自覚する
- 自分の人生の主人公は自分
- 人間の本能に従うことに価値はない
インプット・アウトプット
- インプットは必要だが、差別化の要因にはならない
- 外に出す
- アウトプットして他人に評価される人が成功する
- クオリティはとりあえず棚上げ
- 人間の可塑性にかける
- 人間は置かれた状況によって変われる
心理の怖さ
質疑応答
- プログラマ35さい定年説
- 注目している言語は
- エリクサ
- 分散
- 自分はstreamを作っている
- エリクサ
- アウトプットについてどうやって羞恥心を乗り越えたのか
- 昔はインターネット人口が少なかった→注目されづらかったので今の方が怖い
- 慣れ、場数
- 狭い範囲のアウトプットを繰り返してなれていく
- 小さい勉強会
- 理不尽に耐える人への対処は (My question!!!)
- 言って伝える
- 自分に近いところの人、組織がそうであるなら逃げろ
- 最近技術書以外で読んだ本は
- だいぶ本を読むのは減った
- ライフハックス
- 巨神化計画
- 火星の人
- 結局問題解決の本
- アメリカ人エンジニアには当てはまるけど日本人エンジニアには当てはまらないことって何?
- 組織の違いが大きい
- 文化的な違い
- どんなロールモデルを持ってる?
- ラリーウォール
- 上司が今日みたいな話をしてくれるが、変化についていけない
- 我が道を行っていたのであんまり葛藤は感じなかった
- 逃げろ
- 意識的にしてきたことはあったか?
- 自分の思ったこと感じたことを外に出すようにしていた
- 自分はデータサイエンスを深くやっているが、終わる時がくるかもしれない。深く狭く?広く浅く?
- データサイエンスがすぐなくなることはない
- 世の中には状況によってすぐに市場がシュリンクするものはある
- そういうことが起きるということを頭の片隅に入れておくことは大事
- 中堅になった時に関わる要素は
- 体力です
- 自分のバリューがどのドメインにあるか考える
- 自分のマーケットでの価値が変わると思うがどうやってその状況をキャッチしているか
- RSSリーダーを活用してニュースサイトやブログを片っ端から見て傾向を感じる
- 他の人にもコントロール意識を持って欲しい
- 上司は何もしないのが一番
- 今20代なら何をしている?
- ゲームにハマっていた
- 今Matzが持っている目的目標は?
以上
会場入り口の黒板です
※ 随時加筆修正します