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

Rubyの生みの親 matzこと、まつもとゆきひろさんの講演会に行ってきました。
学生時代に参加した島根県開催のRuby合宿以来、4年ぶりにmatzの御尊顔を拝みに行ってきました。
「20代エンジニアのためのプログラマー勉強法」というタイトルでしたが、
さすが言語デザイナー、言葉の定義を大切にしたり、意図的にミスリードなさっている箇所がありました。

エンジニアのみならず若手社会人すべてに通ずる「勉強」の話でもありました。
自分の整理のためにもアウトプットしていきます。
※サムネイルは会場の黒板に書かれていたサインです!

タイトルに入れた「勉強」はミスリード

抽象化のワナ

ビジネスでは物事を抽象化することにより、問題を解決したり、
類似点からパターン化することができるため有用視されている。

しかし、その抽象化も万能ではない。

  • アーキテクチャ宇宙飛行士:抽象化しすぎて何をしているかわからなくなる
  • Over Simplify:無視してはいけない違いをも簡潔化してしまう

今回の「勉強」はOver Simplifyのミスリード。

学生と社会人の「勉強」は大きく違う

  • 満点ありv.s.満点なし
  • 苦手克服v.s.得意を伸ばす
  • 一次元v.s.多次元
  • 記憶v.s.把握
  • 知識v.s.インデックス
  • 試験v.s.常在戦場
  • メインv.s.サブ
  • 間接的v.s.直接的
  • 安定v.s.変化

学生の勉強には【満点】という概念があり、複数科目の総合点で評価が行われる。
そのため国語90点、数学50点ならば競争に勝つために苦手を潰す戦略が正しい。

しかしながら、社会人の勉強に上限ボーダーはない。
国語が好きならそのまま強みを生かして100点、200点、1000点を目指すことが正しい戦略に変わる。
苦手な職種・業務があれば捨てて強みを活かすことが取るべき戦略。

また、試験に向けての暗記こそ正義だったものが、
いつ役に立つかわからない知識のインデックスを脳内に構築し、
必要な時に取り出したりググったりして活用できることが社会人の武器となる。

学生は勉強が本分なのに、何に役に立つか分からず身につける間接的なもの扱い。。
社会人の勉強は目の前の業務に役立つ直接的なものなのにサブ扱い。。

教科書の中身はそう簡単に変わらないが、エンジニアの技術は移り変わりが早い。

実社会に満点はないので苦手をなくすことに意味はない。強みを活かそう!

Why:なぜ勉強するのか?

  • 成功したい
  • 高収入が欲しい
  • 良好な人間関係が欲しい
  • 嫌なことはしたくない
  • etc.

これらのために必要なものは高評価・尊敬・尊重

What:何を勉強するか?=強みは何か?

自分と対話して見つけるしかない

  • 得意な仕事、苦手な仕事は何か?
  • 苦手なことに時間を費やす必要ない
  • 好きこそものの上手なれ
  • 走り出すのは楽だが、走り続けるのは大変
  • 走る前にどこに向かうか考えるのは大切
  • 良く考えよう、内省する時間を作ろう

見つけるためのヒント:パターン認識

  • 尊敬する人は誰ですか?
  • そこからパターンを導き出そう

勉強は成功のためにするもの。
成功のためには有名にならないといけない。
有名になるためには価値があると思われる必要になる。
すなわち、【有名である≒価値がある】という循環論法になる。

キャズム理論:勉強はマーケティングと同じ

  • イノベーター
  • アーリーアダプター
  • —-キャズム(溝)—-
  • アーリーマジョリティ
  • レイトマジョリティ
  • ラガード

キャズムを乗り越えるためにはニッチに進出する必要がある。その後に横展開すればよい。

勉強の成果をアウトプットして自分がニッチであることをアピールしよう。
ニッチでありつづけ、埋没しないことも重要。

matzの実体験

就職にあたって、自分の好きなこと・得意なことを棚卸しした。

大学卒業時に東京に住まない+希少な存在になれる環境にいく決断をした。
(同期200名採用中、コンピュータサイエンス専攻は6名)

最初の会社ではソフトウェア開発をしていたが、バブル崩壊で閑職。

暇になって作ったRubyをネットに公開。
オープンソースという概念が未だない時代であり、この行動がニッチだった。

Ruby発展におけるオープンソースソフトウェア運営の経験を講師として横展開。

How:どう勉強するか?

①パターン認識して抽象化する。
②何をどう勉強するかを内省する。
└何を目指すか?
└どう目指すか?
└どこまで意地を張るか?
└どこまで妥協できるか?
③インベントリ(自分を棚卸しして、得意を見つける)。

自分のことは自分しか分からない。他人の意見は参考にせず自分で決める。

具体的な話

モチベーション

好きなことは勝手にやれるのでモチベーション管理は不要。
暇・退屈という感情はモチベーションを管理できていない注意報。

時間管理

優先順位の問題なだけ。
好きなことの勉強なので止めないけれど、プライベートは犠牲にしないほうが良い。
生産性を高めて、仕事の時間を勉強に充てられる形を追求しよう。
そのために、バッファは3倍に見積もろう。

そもそも・・・
就業時間中に自分を改善するための勉強を尊重しない会社があるとしたら、
その会社はあなたを尊重していないので辞めて滅んでもらったほうが日本のため。

アウトプット

社会人になってからの勉強はアウトプットと同義。
しかしながら、面倒・羞恥心など心理的ハードルが高い。
アウトプットによる定着・成長が起きれば、アウトプットが楽になる・最適化されていく。
最終的には、人間の可塑性が生じる。

可塑性

  • 置かれた立場・環境で人は変化できる
  • 自分が固定的だと思わないほうが良い
  • ゆっくりだが変化する
  • しかも、予想もしない方向で

最後に

  • 基礎を抑える
  • 英語を学ぶ
  • コンフォートゾーン
  • 誰かを見下さない
  • もちろん自分も見下さない
  • 自分の人生を良くすることに真剣になろう

英語は知識を得るために学ぶ。
そうすると、タイムマシン経営ができたり、海外でもビジネスが出来る。
読めるが最低限、雑談ができれば良い、講演ができれば凄い。
才能ではなく場数。
完璧を目指さない。

コンフォートゾーンを離れて普段やらないことをやる。
離れると、多かれ少なから大変な思いをする。
他人のアドバイスは参考にせず自分一人の意思で出るか出ないかを決断する。

自分なりのまとめ

  • 内省により好きなこと・得意なことを見つけよう
  • それを就業時間のなかで学び、学んだことをアウトプットし続けよう
  • 埋没しないニッチになろう
  • その先の未来は真剣に考えすぎず、可塑性に任せよう

ということで、これからもアウトプットしていきます!

この記事の内容が役に立ったと思いましたら、SNSで記事を共有していただけますと幸いです。