Ruby
キャリア
Matz

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

~~ 2018/6/26 22:33 更新 ~~
  500以上のいいね、また読んでくださった皆さまありがとうございました!!!

この記事はMatz氏の講演を聴き、何か感じたところを中心にメモしてます。
(特に後半は疲れてメモしてないとこも多く。。)

参考になる箇所は人それぞれ異なると思います。
↓のリンクからまだ見れるようなので、約2時間の長い動画となりますがお時間のある方はぜひご覧になってください(^ ^)

  
~~ 2018/6/25 22:21 更新 ~~
  200以上のいいね、ありがとうございました!!!

聴講後、渋谷のマックで走り書いた記事でしたので加筆・修正しました。

指摘してくださった、
・dryttさん、coheiさん => Pascalの誤字
・4geruさん => snipetの修正
・Keckさん => × 楽しいことは皆やりたがらないので ○ 楽しいことは皆やりたがるので
・kurkuru    => 誤タイプを修正しました。(6/26更新)
ありがとうございました!!

その他、ここの意味は違うんじゃないの?といったご指摘や、感想・意見は歓迎しておりますので、何かございましたらお気軽にお寄せください


〜〜以下、本文〜〜

生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.抽象化は万能でない

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

躍進を続けるアーキテクチャ宇宙飛行士たち
http://local.joelonsoftware.com/wiki/%E8%BA%8D%E9%80%B2%E3%82%92%E7%B6%9A%E3%81%91%E3%82%8B%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%E5%AE%87%E5%AE%99%E9%A3%9B%E8%A1%8C%E5%A3%AB%E3%81%9F%E3%81%A1

  アーキテクチャ宇宙飛行士に見られる顕著な特徴は、彼らが実際の問題を解かないということだ...
  代わりに、彼らは多くの問題のテンプレートに見えるものを解決する。少なくとも、解決しようとはする。

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

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

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

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

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 or No deal
・誰かが一方的に得するような関係性は長続きしない。

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

  • 我慢に価値を置かない
  • 自覚的・自発的になる 

- 自分を知る => あなたの得意は? 自分は何が得意か?

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

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

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

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

11.コントロール意識

  • 生産性の下げ方、貶す・叱る => 叱ると生産性が60%下がる
     =>【私見】叱っているつもりでなくても叱られていると思い込むこともあるので言い方大事

  • 強制されると生産性低下

  • プログラム=>パソコンを支配しているような 万能感

(会場での質問)

Q.コントロールする側の立場になった際どうすれば良い?
A.上司は遊んでると思われているぐらいがいい。動き回る上司は鬱陶しい。 =>【私見】わかりみ

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

  • やればだれでもできる、でも心理的障壁でできない 例) youtuber

  • 価値があるものを外に出さないと他人から評価されない。他人から評価されないと自分の価値を証明できない。

  • 人間の可塑性、場面によって変化(成長)する事ができる

感想

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

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

 「ドリルを買う人が欲しいのは「穴」である」
   (2018/06/25 22:10) 2回引用していることに気づく・・大事なことなので(ry

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

  • 「管理され強制されていると感じると生産性が低下」に実感あり。
      => 細かくやり方までケチつける上司の時は生産性低かったけど、自由に任せてくれる上司の時は生産性が高く、部内評価も爆上がりしてた笑

  • 「叱ると生産性が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向け)のプレゼンテーション ツールです。
らしい。

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

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

(2018/06/25 22:19追記)
・講演で「アウトプット大事!」ということで、深く考えず書きなぐった記事だけど、こんなにいいねをもらえたので、やっぱり外に出すこと大事。
・ビギナーズラックですが、今後も自分の頭で考え、アウトプットすることを心がけていきます。