【まつもとゆきひろ氏 特別講演】20代エンジニアのためのプログラマー勉強法 に行ってきた感想&講演内容メモ

Rubyの生みの親Matzことまつもとゆきひろさんの講演「20代エンジニアのためのプログラマー勉強法」に行ってきました。

supporterzcolab.com

6月にもMatzの「若手エンジニアの生存戦略」と言う講演を聴いてきました。扱うテーマは若干違いますが、そこに共通して現れている価値観は共通するものがたくさんありました。 2つの講演から「パターン認識」しながら聴いていました。

「若手エンジニアの生存戦略」に関する感想&メモはこちらからぜひご覧ください。

【まつもとゆきひろ氏特別講演】若手エンジニアの生存戦略 に行ってきた感想&講演内容メモ - kumatira blog

以下、講演中や後に感じた雑感と、取っていた講演メモをまとめます😃

感想

  • 超超超超当たり前だけど、Matzのセッションはわかりやすかった。内容によって緩急がつけられていて、話の流れを聴衆に感じさせていた。抽象的でわかりづらい内容になったら具体例が出てくるし、それも必要十分だった。
  • 最初は演題の「勉強」についての定義があった。さすが言語デザイナー。ここで勉強と「勉強」が違うとわかった。
  • 学生と社会人の勉強の違う点がたくさん挙げられた。一番「なるほど」と思ったのは「苦手克服VS得意を伸ばす」のところ。確かに学生の勉強には、答えを知っていてゴールライン(=満点)を引く先生がいて、その人が知識を授ける授業が勉強の中心になっている。社会人の「勉強」にはそれらはほとんどない。
  • 「苦手を克服しようとするのは非効率」という話は非常に納得した。そもそもその人が取り組むと非効率なのだから「苦手」として残っているのだと思う。
  • 研修について考えたり悩んだりする人が多いのは、学生の勉強と社会人の「勉強」をつなぐ不思議な時期だからかもしれない。
  • 「何を勉強するか考える」以降で感じたのは、[好きなこと] = [やりたいこと] = [得意なこと] = [勉強していること] = [業務] が全部一致した時、人の出力は最大になるんだなってこと。なんとなく感じてはいたけど、これを意識する、逆にここから外れている時「自分はしんどいのでは?」と気づく、と言う意味で勉強になった。
  • 「じゃあ具体的にどうやるの?」のところでは、特に「アウトプット」についてが印象に残った。6月の講演で「アウトプットを恐るのは人間の本能だからしょうがない。でもその本能に従う価値はそんなにない」という話があったことを思い出した。さらにそれを繰り返すことは「勉強」でもあるよね。って言うのが今回のアップデート。
  • 戦略としての「自分のマーケティング」、その材料としての「勉強」という位置付けはわかりやすいし取り組みやすい。
  • 「自分の得意がわからない」ならとりあえず好きなことからパターン認識すればいいとのことだったが、就活をやっていた時、自分の周りには「好きなこと」が無くて困っている人がたくさんいた。もしかしたら「好きなこと」がある時点でまず幸運なのかもしれない・・・?
  • 質問タイムで「アメリカでは〜」「東南アジアでは〜」というように国・地域にセグメントして捉えようとしている(多分)質問がいくつか出ていた点が気になった。サービスや国の状況を捉える上で、国名というラベル付けに意味はあるが、こと自分という1人の人間の話をする時、それはあまり意味を持たない気がする。Matzもそんな感じじゃないかな〜(多分)
  • と言いつつ中国の話が全くでなかったのは不思議だった。うーんこの分野での中国の立ち位置ってあんまりわかってない。もうちょっといろんなとこに顔を出してみよう。
  • 「英語やらねば・・・」と思った。今日本で日本語を喋っていると言うある意味特殊な状況に自分を置いているが、英語はそれを一段抽象化してくれる気がする。

講演内容

とりあえず聞いたことを全部書いたのでめっちゃ長文になりました。見出しだけをどんどん読んでいくと話の筋がわかると思います。

導入

楓さん自己紹介

  • エンジニアのキャリアをよくして世の中をよくする(=ザッカーバーグを増やす)

    サポーターズ

  • 交通費を出す就活サービス
  • サトアズフォローしてね

    今日の目的

  • Matzのご尊顔を拝む
  • エンジニアとしての学びの方法を知る、考える
  • 何かを始めるきっかけにする

講演

自己紹介

イントロ

  • 勉強とは?
    • 演題の「勉強」という言葉は、ミスリードしたくてわざと入れた
    • 今回は社会人の「勉強」について
      • 「勉強」は学生の時の勉強から得るメタファー
      • 抽象化することで理解がしやすくなる
        • 解決すべき問題は複雑
        • 難しい概念を人間が理解するのは難しい
        • 類似性からパターンを抽出
        • 抽象化は万能ではない
      • 国語や数学と同じ勉強で、社会人の「勉強」は通用する?
        • それぞれの違いを考えよう

学生と社会人の勉強の違い

学生の勉強 社会人の「勉強」
満点がある 満点がない 社会人の「勉強」は満点がない。1000点を10万点まで引き伸ばし立ってOK
苦手克服 得意を伸ばす 満点がある学生の場合は、苦手を埋めて100点に近づけた方がいい。社会人には満点がないので、得意なところを伸ばしておく方が戦略的。
好きこそものの上手なれ。
苦手なことをやることは合理的ではない
記憶 把握 ググればいい
知識 インデックス
一次元 多次元 学生のテストは評価の尺度が一次元になりがち
メイン サブ 学生の本分は勉強
社会人は働くことがメイン、勉強がサブになる
間接的 直接的 学生の勉強は何に関連するかわからない
社会人の場合は直接的
安定 変化 学生が勉強しているものはそんなに変わらない
JS界隈のスピード

これだけ違うので「勉強」メタファーはあんまり役に立たない

なぜ勉強するのか

  • スキルセットを伸ばしたらいいことがある
  • 成功の確率を高めるもの
  • 勉強のモチベーションを高める

何を勉強するか考える

  • 自分を見つめ、内省する
  • 走り出すのは楽→走り続けるのは大変
  • 走る前に考えることはもっと大切
    • 得意なこと、苦手なこと
      • 即答できますか?
  • 苦手をなくすことに意味はない
    • 苦手の克服は満点があることが前提
  • 好きなことに注力するのが効率的

パターン認識は成功の秘訣

  • 「尊敬できる人は誰ですか」からパターンを見つけ出そう
    • 両親→いい面を見れる人
  • 知らない人を尊敬できない
  • 本質的に人間はミーハー
    • 「有名である」≒「価値がある」←でもこれって循環論法だよね
  • キャズム理論
    • アーリーマジョリティまで届くものはそんなにたくさんない。乗り越えるべきキャズム(峡谷)がある
    • まずニッチに進出してから、横展開するとうまくいく
    • 自分の成果をアウトプットしてそのユニークさを強調する「埋没しない」

Matzの話

  • 自分の好きなこと得意なこと知識を棚卸しした
  • 大学卒業時の決断
    • 東京に住まない
    • 尊重してもらえる環境
  • 最初の会社
    • 情シスしていた
    • 閑職にあって自由だった
    • 暇だったから作ったRubyをネットに公開
  • Rubyをネットに公開したことがユニークなことだった→ニッチに進出
  • オープンソースソフトウェア運営の経験からパターン認識
    • →その界隈の話も舞い込んできた
    • →横展開
  • 時間と収入は無関係
  • 割りがいいか < 満足するか

「あなた」はどう勉強するか

  • パターン認識して抽象化する必要がある
  • 内省
    • 自分のことを自分以上に知っている人はいない
    • 自分で考えなきゃいけない
    • 自分の「在庫」について真剣に考えることはない
      • どこまで、何を、どのぐらい
    • 自分に妥協しようと考えたこともあったがしなくてよかった
  • 予想は外れる
    • 決めたことは変えてもいい
  • 自分の傾向をしる

具体的な話

  • モチベーション
    • 好きなことならほっといてもやる
    • 漠然とした希望に弱い
    • 「やることがない」→注意報
      • 自分のやりたいことを把握していたら「暇」にはならない
  • 時間管理
    • 時間の使い方→優先順位
    • プライベートを犠牲にしない
    • 生産性を高める
      • 仕事の中でやる勉強が高効率
      • ↑を認めない会社は滅びたほうがいい
      • そのために短い時間で成果をあげる
      • バッファーを積む
      • 残りの時間でスキルを伸ばす
  • アウトプット
    • インプットも必要だけど、差別化要因にはならない
    • 「あんなの誰でもできる」
      • 実際ほとんどの人はやらない
    • アウトプットによる定着
    • 繰り返す
      • アウトプットするのが楽になる
      • アウトプットの最適化
      • 心理的障壁の低減
  • 可塑性
    • 立場、環境で人は変われる
    • アメリカはロールを固定した契約
      • 興味が変われば契約を変える
    • 「新しい可能性を発見した」
      • ゆっくりだが人間は変化する
      • 予想もしない方向で変化する

何をやる

  • コンピュータサイエンス
  • 英語
    • 英語ができれば18億人と話せる
    • タイムマシン経営
    • ガラパゴスを出る
    • 語学は場数
    • 完璧を目指さない
  • コンフォートゾーン
    • ずっと心地いい空間にいると成長しない
  • 変化を恐れない訓練
  • 誰かを見下さない
    • プログラミングは人間の都合でできている
    • 自分を見下すのもよくない

まとめ

  • 自分をマーケティングしていく
  • そのための道具としての「勉強」
  • 自分にあった「勉強」を見つける
  • 自分の人生をよくすることに貪欲であっていい

質疑応答

  • 自分の得意がわからない
    • 当たり前
    • インベントリで見つける
    • 好きなことはあるのでは?
    • しばらくやったら本当に得意か、得意じゃないかわかる
    • 得意じゃなかったらやめればいい
  • 最初からフルスタックなエンジニアを目指すのは得策ではない?
    • そうだと思う
    • 全体が均等に得意ってあんまりないのでは?
  • 内省をやめて走り出すタイミングは?
    • 自分で決めて
    • 「走り出すか」と思うタイミングがくる
  • 勉強になった本、人生を変えた本は?
  • 日本のITがどうなったら素敵?
    • ブラックなイメージを無くしたい
    • 我慢してそこで働いていると、そういう企業を延命させてしまう
    • 次がそうならまたやめればいい
  • 生まれて欲しいサービス
    • ITのインフラになるようなサービス
    • Database as a service
    • Googleのfirebaseはいい線行くのでは
  • 社内でのコミュニティ運営で気をつけたい点は
    • 「こういう風にしなくちゃいけない」は決めない
  • ITの売り手市場はいつまで続く?
    • 当面は終わらない
    • ITが使われている間は、誰かがソフトウェアを書かなきゃいけない
    • 日本全体が沈む方が先に起きるのでは?
  • 英語はどうやって勉強した?
    • 学校の勉強としての英語は嫌いじゃなかった
    • 実践あるのみ
    • 場数を踏むとコミュニケーションにもパターンが見える
  • 情報収拾はどうしてる?
  • 地方でエンジニアをする上で「取り残される」感はある?
    • 昔はあったが今はそうでもない
    • 英語で情報が起きるので日本の中でどこにいるかはそんなに関係ない
    • 仕事のやり方は考えなきゃいけない
  • ブロックチェーンは見た?どの辺に興味がある?
  • アメリカで働くには?
    • まずビザ
      • H1B
      • 向こうの会社がビザを取って雇いたいと思わせなくてはいけない
    • 大学に行ってインターンの経験して仕事をとる人が増えている
  • コンフォートゾーンを出るタイミングは?
    • あまり何も言えない。他人が責任のあることを言うことはできない
    • 他の誰のアドバイスも受けてはいけない
  • 東南アジアが上がってくる可能性は?
    • それなりに日本人も働き始めている
    • 日本の下請けではなく、国自体がマーケットになる国が増えている
    • 平均年齢が低くて挑戦する雰囲気はある
  • Matzが20代に若返ったら何する?
  • 未経験からエンジニアになりたい
    • プログラミングやってみて面白い部分を見つける
  • ユーザー系SEはなくなる?
    • 自分たちで開発するのがいい
    • 外に出すのはビジネスのスピードが遅い
    • そっちになるかは分からない
  • 低レイヤーと高レイヤーのなかで有名になる難易度は違う?
    • (OSS前提なら)低レイヤーの方がいろんなところで使われるので有名になりやすい

ということで「【まつもとゆきひろ氏 特別講演】20代エンジニアのためのプログラマー勉強法」のまとめでした。

会場では抽選で、Matzのサイン本&ツーショット撮影(こう書くとアイドルっぽい)ができたが、スマホの充電が切れていて抽選に参加できなかった。写真も撮れなかった。悲しい。

ではおやすみなさい