Ruby
キャリア
Matz

【まつもとゆきひろ氏 特別講演】若手エンジニアの生存戦略に行ってきたので私的メモ

生Matzを拝みに「【まつもとゆきひろ氏 特別講演】若手エンジニアの生存戦略」に行ってきました。
https://supporterzcolab.com/event/403/
その私的メモ。

講演内容

1.生存戦略とは
2.成功者の得意なこと
3.抽象化は万能でない
4.ロールモデルについて
5.Matzの例
6.Matzの例②(社会人時代編)
7.Matzの例をメタ化するなら
8.プログラマの三大美徳
9.勤勉の悪
10.生存のためのメタ戦略
11.コントロール意識
12.インプット・アウトプット

1.生存戦略

・生存戦略=生き残るための戦略
・一番大事なのは死なないこと。
・一般的に年収高いけど、大変な働き方をしている人がいる。

2.成功者の得意なこと

・成功者(起業家とかで成功している人)の得意なこと
  => パターン認識能力(≒メタ思考≒抽象化)が高い 
✖️IQが高い、コニュニケーション能力が高い

起業家に必要なのは高いIQよりパターン認識能力
https://jp.techcrunch.com/2014/12/12/what-is-necessary-for-entrepreneur-is-not-a-high-iq-but-an-ability-recognize-patterns/

・抽象化することで寿命が伸びる、具体的なものは寿命が短い
    例)アプリ解説書 VS アルゴリズム教科書
          => アプリ解説書はそのアプリが終了したら不要になる
                アプリ→言語→OS の順に寿命が長い

3.抽象化は万能でない

・抽象化のデメリット
  アーキテクチャ宇宙飛行士 →みんなを置いてけぼりにする。
  漏れが出る:抽象化の漏れ → 例外

4.ロールモデルについて

・「今日はロールモデルを探しに来た人が多いと思うけど、Matzそのままは無理です!そこで抽象化して参考になる部分を参考にしてほしい。」
 => マッツがプログラミングを始めた時代:インターネットなし=競争相手が少ない
・バタフライエフェクト → 小さな違いが大きな違いを生む
          パターンを認識 → マッツの例を抽象化して、現代でどうするかを考える。

5.Matzの例①(学生時代編)

・ポケコンBASIC:400行、ユーザ定義関数、変数名1文字 4bit マイコン*2
・Pasal入門を読んでわかった気になる。
・ローカル変数と再帰関数に感動
・言語に興味を持つ
・大学:「ここは天国か」コンピュータサイエンス専攻
・プログラミング言語を作ってみようという人はいなかった。→ 田舎だからではなく、コンピュータ界隈でも少数派

6.Matzの例②(社会人時代編)

・東京では生活したくなかった
   => 鳥取→筑波→?  で、静岡に。

・新卒200名中コンピュータサイエンス卒業6人。
・社内もまだ少なかったから重宝される。裁量権(UI)などを自分できめることができた。
・ある日、Tシャツジーンズで行く → 変な目で見られるが、誰も触れない 全く話題にならない:追従する人もいない。

7.Matzの例をメタ化するなら

・Matzならこれから何を抽出する?
鶏口牛後 → 大企業でついて行くより、小さいところで先頭に立って行く方が良い
「我慢」の価値 → みんながやっているから、は我慢の理由にならない。

8.プログラマの三大美徳

プログラマの三大美徳
https://moneyforward.com/engineers_blog/2016/02/08/engineers-virtue/

Perlの生みの親である「Larry Wall」氏が定義

怠惰 全体の労力を減らすために手間を惜しまない気質
短気 コンピュータが怠慢な時に感じる怒り
傲慢 人様に対して恥ずかしくないプログラムを書き、また保守しようとする気質る

9.勤勉の悪

◎労働は我慢ではない
   => 「お前はお金をもらっているのだからこれぐらい我慢しろ」は間違い。
・報酬は価値の対価 :勘違いしてはならない 
                                => 理不尽は拒否しなければならない。

・鈍感になっても致死量はある。早まっては「ダメ、絶対」
・空気を読まない、目的を明確化する、「成果をあげる」=>結果を出せば無理は通る。
・Dont' work hard Work Smart
・会社にとって我慢すること、上司に従うことは「会社の利益」ではない
   => 理不尽に声をあげる。

・Win-Win、No deal
・誰かが一方的に得するような関係性は長続きしない。

10.生存のためのメタ戦略

  • 我慢に価値を置かない
  • 自覚的・自発的になる 
  • 自分を知る => あなたの得意は? 自分は何が得意か?

・社会的圧力に対する鈍感さ
  「しちゃいけない?どうして?」
  思い込み=脳内キャッシュ

・実体がないものは名前をつけないと語れない
・バグの原因の95%は思い込み
 プログラマーの仕事は問題解決 ≠ プログラミング => 抽象化メタ化はプログラマーに大切と言える。

レビット博士が提唱したマーケティングで最も重要な格言とは
http://marketing-campus.jp/lecture/noyan/045.html

「ドリルを買う人が欲しいのは「穴」である」

11.コントロール意識

  • 生産性の下げ方、貶す・叱る =>叱ると生産性が60%下がる      =>叱っているつもりでなくても叱られていると思い込むこともあるので言い方大事
  • 強制されると生産性低下
  • プログラム=>パソコンを支配しているような 万能感 (質問)
Q.コントロールする側の立場になった際どうすれば良い?
A.上司は遊んでると思われているぐらいがいい。動き回る上司は鬱陶しい。=>わかりみ

12.インプット・アウトプット

  • やればだれでもできる、でも心理的障壁でできない
  • 価値があるものを外に出さないと他人から評価されない。他人から評価されないと自分の価値を証明できない。
  • 人間の可塑性、場面によって変化(成長)する事ができる

感想

  • ◎労働は我慢ではない => 報酬は価値の対価 は意識していきたい。     => 仕事とは「人がやりたがらないことを我慢してやる」= 価値がある、楽しいことは皆やりたがらないので価値がない、と思ってた時もあった。
  •  「プログラマーの仕事は問題解決 ≠ プログラミング」       => 技術を身につけることだけを考えるのではなく、それを元に自分が「何(=価値)」を提供できるか考えていきたい。

レビット博士が提唱したマーケティングで最も重要な格言とは
http://marketing-campus.jp/lecture/noyan/045.html

「ドリルを買う人が欲しいのは「穴」である」

  • 「会社にとって我慢すること、(≒上司に従うこと)は「会社の利益」ではない」ので、思ったことは主張していく。
        上司とやり合うのメンドくさいのだけど、、SoftSkillにもあったけど、エンジニアとしての誇りも必要。

  • 「管理され強制されていると感じると生産性が低下 」に実感あり。

  • 細かくやり方までケチつける上司の時は生産性低かったけど、自由に任せてくれる上司の時は生産性が高く、部内評価も爆上がりしてた笑

  • 「叱ると生産性が60%下がる」というんは叱っているつもりでなくても、叱られていると思い込むこともあるので言い方大事(自分のことですが)

この「認知の歪み」は”あるある”かもしれない

https://twitter.com/i/moments/1007893540934782977

  スクリーンショット 2018-06-23 18.01.36.png

その他

・Matzが講演の発表に以下を使ってて何か気になってた。

Powered by Rabbit 2.2.1
https://rabbit-shocker.org/ja/news.html

Rabbitはプログラマ向け(主にRubyist向け)のプレゼンテーション ツールです。
らしい。

一番下の左に現在のページ数、右に最終ページ数があって、その間をうさぎ(=スピーチの進捗具合)、かめ(=予定)で追いかけっこしてる形で面白そうと思った。

・内容全部まとめようとして結構辛かった。=>後半あんまメモってない・・
  全部覚えることが目的でないので、こういうのは自分のアンテナに引っかかったとこだけメモして考えるのがよかったか。