勉強会のレポート(メモ)です。
参加したのはこちら、「【まつもとゆきひろ氏 特別講演】20代エンジニアのためのプログラマー勉強法 」
会場はドリコムさんです。
supporterzcolab.comハッシュタグ : #spzcolab
会場のアルコタワーは目黒川のすぐそばなので桜がきれいです。
スポンサー様
サポーターズ
ほぼ毎日勉強会開催、ハッカソンもやってます、公演会もやっています。
マスコットキャラクターもいます、Vtuberもやっています。
質疑応答は#spzcolabで呟いてください。
今日の目的
・Matzさんの顔を見ておこう
・エンジニアとしての生き方を考えよう
・何かを始めるきっかけにしましょう
ドリコム
会場提供はドリコムさんです。
アプリのインストール不要で遊べるプラットフォームを提供しています。
社内で勉強会管理ツールがあります。誰でも自由に開催できるようになっています。
社外でも積極的に貢献しています。
採用に興味のある方はぜひどうぞ。
プログラマー勉強法
高校生の頃プログラミング言語を作りたかったが、勉強法がなかった。
だが今はネットで勉強ができる環境になっている。
今日は自分の経験に基づいて話しても老害になってしまうので
勉強の必要性について話します。死なないために
エントリーシート
個人的には史上最悪の発明。
今までどんな勉強してきたかなどを書くが、人事担当の人にとっても不幸。
人気のある、人物像など全部を細かくチェックするのは無理。
なのでキラキラした見栄えのいい人を選びがち。就活サイトだけが喜ぶ。
ブラック企業
IT企業に多いテクノロジーに罪はないが罠の多い時代です。なので蛇のように賢い戦略が必要。
自分が何をしたいのか、どういう方向性で行きたいのかが必要。
特に若い人たち、人生に大きな影響を与えるまで(基本的に大きな成果は若い時に出る)
過去に偉大な発明をした人たちは20代に多い。MatzさんがRubyを作り始めたのも27歳。
30は遅すぎるわけではないが、若いのはアドバンテージである。
体力があるし、発想も柔軟だし、大学で学んだことが鮮明である。
今日を生きればいいという考えはもったいない。若いときこと戦略が必要。
ただし、若いときは社会的地位がまだない、なので誰かに使われることが多い。
人間にも似た性質がある(アルファシンドローム)
身体を壊しても、上司や会社は責任を取ってくれない。なので自分の身は自分で守りましょう。
それを学ぶのが勉強です。
学生の勉強と社会人の勉強は性質が違う。今回は社会人のための勉強について話します。
これはある種のメタファー。学ぶという言葉を抽象化して勉強という言葉に置き換えている。
学生の勉強との違い
満点の有無
社会にでると満点を取るという概念がない。正解があるか、ないかという違い。
100点がないということはより得意を伸ばすことができる。
1000までパフォーマンスを伸ばすこともできる
無理に苦手なことを勉強するよりも、それが得意な人と組むのも手。
学校は記憶がメイン、社会人は把握がメイン
わからないことは調べればよい。どう調べればいいのか知っていればいい。
言い方を変えると、知識とインデックス
試験と常駐戦場
学校は大体試験に、仕事だと毎日毎日頑張る必要がある。
学生だと勉強がメインと言われることが多いが、社会人だと成果を出すことがメイン。
学校の教科書の内容は変化することがない。しかし社会では定番がどんどん変化していく。
なぜ社会人は勉強するのか
人によっては「成功したい」「人間関係が築きたい」「お金が欲しい」「好きなことでやっていきたい」
勉強でこれができるかというとできるとはいえない。
しかし成長することで、成功する確率は高くなる。
勉強は成長の手段と定義することができる。
何を学ぶか
差別化を意識しましょう(他の人との競争に勝つ)。
苦手克服はよりも好きなことを勉強するほうがいい。
学生時代の常識が通用しない
ルールの違いがある、ただ無意識に同一化してしまい学校的な学習をしてしまうのはもったいない。
社会では上限が実質ない。なので好きなことでやりましょう、意欲効率も違います。
何を学ぶか、これやっとけばOKというものはなく、差別化にならない。
インベントリ
自分は何が好きなのか、どういったことが得意なのか。自分の性質について考えてみましょう。
みなさんにもやる気がでるものがあると思います。
場合によっては複数のジャンルにまたがる人もいるかもしれない。
そして得意を伸ばしましょう。人と違っているといいし、それが生活に結び付くとなおよい。
ただしお金のことだけ考えると、判断を誤る。
何を自分のテーマに選ぶか、何が正解か、何が得意で、何を伸ばした方がいいか。
これは他人は教えてくれない、仮に教えてくれる人がいても信じてはいけない。
自分で決めなくてはいけない。妥協点も自分で決めなくてはいけない。
どこで学べばいいか
いつでもどこでもいい。
大事なのは環境、つまり周囲との関係。成功するということは回りからの高評価をもらうこと。
勉強するということは高評価をうけるためと考えてもいい(ポジティブフィードバック)
じゃあどこから始めたらいいのか
ポジティブループを壊す環境から逃げましょう。この環境は簡単に壊れる。
搾取する人から逃げましょう。
「win-lose」「lose-win」などいろいろあるが持続可能な取引は2種類のみ、「winwin」と「no deal」だけ。
no dealは取引をしないこと、損をすることそのものがだめ、言い方を変えれば逃げてもいい。
よい環境で学びましょう。
よい環境でもなく、どうやっても治る見込みがないのなら逃げてもいい。
逃げちゃだめだという言葉があるが、自分を追い込むのはよくない。
いつ学ぶか
まとまった時間はなかなか作れない。
夜や休日やっても疲れてたり・・・
そうはいっても暇だ退屈だと思うことはもったいない、暇を撲滅しましょう。
時間の使い方が大事、プライベートを犠牲にする必要はない。
仕事を早く終わらせて余った時間を使ったり、細切れの時間を使う。
睡眠時間削減はNG、脳がつらい。
自分の中の優先順位をはっきりさせましょう。
ゲームやSNS、マンガなどで大事でないもの、惰性でやっているものは減らすなど。
Twitterのフォロワーを整備したり、情報収集のフォーカスを変えたり。
この辺は生活や価値観に依存します、他人には口出しできない領域です。
どう学ぶか
社会人の勉強では記憶する必要はない、ネットで調べればでる。
しかし知らないことは調べられない。
概要を把握することが大事です。好奇心を育てましょう。
知らないことを知るのは楽しいものです。
差別化
人と異なった知識、専門分野。
自分の興味のあること、得意なこと改めて考えましょう。
インベントリで大事なことは妥協と打算。
自分のやりたいことと世の中で一致しないこともある。
問題は無限に妥協しないこと、どこまで妥協できるのか、できないのか線引きすること。
妥協は悪いことではない。しばらくたったら考えも変わっているかもしれない。
他人の判断も、自分の判断も信用しない、時々振り返って、自分はどこまでできるか考えましょう。
打算がなく好きでできるならそれはいいことだが、どこまで妥協できるかを決め、
そこからたびたび振り返る。
アウトプット
知識を身に着けるだけならだれでもできるし調べれば出る、これだけど差別化はできない。
そこでアウトプット、だがこれのハードルは高い、
面倒だとか恥ずかしいという気持ちもある。
とにかくやってみよう。
最初からすごいアクセスを集めるのは大変だがやってみよう。
何も言わないのに自分の内面を読み取ってもらうのは難しい。
伝えないと伝わらない。そういうのを繰り返す。
ブログやqiitaなど、クオリティは大事ではない。
アウトプットをすると楽になる
自分が最適化されていく。
例えばブログを書くとき、最初は数時間かかるかもしれないが。
それを繰り返すことでどんどん短縮できる。考え方、文章のまとめ方が最適化される。
そういう変化は人間の可塑性にかける。
やらない理由を見つけるのは簡単だが、苦手なことも訓練することで得意になるかもしれない。
(苦手はやらなくていいといったけど)アウトプットが苦手でもやりましょう。
自分の考えを他人にアウトプットしてもらうことはできない。
人間は置かれた環境で変化することはできる。
今はエンジニアやっていても将来かわるかもしれないし、別の世界にいくこともある。
人格もゆっくりと変化する。
成功するために必要なもの
それは知名度、人間は有名人に弱い。
知名度は価値と変換することができる。
有名になると成功することができる。まずは知られる必要がある。
アウトプットしていかないとみんな見てくれない。
知名度にはマタイの法則に当てはまる。
知名度のある人はますます知名度が上がる。
つまり成功するためには成功しなければならない。
ではどうやってこれを解釈するか
金があればコマーシャルを打てば強制的に知名度があがる、
じゃあ金がない人はどうするか。
そこでキャズム理論
キャズム理論ではこれを解決するのにはニッチに進出しなさいと言われています。
多くの人が勉強している所にいると上位に行くのは難しい。
勉強のアウトプットをするときも、ユニークなもの、埋没しない(他の多くの情報に埋もれない)ものがよい。
大事なこと
基礎を抑える
大学で学ぶような知識、コンピューターサイエンス。
この辺はあまり変わらない領域。
アルゴリズムやデータ構造など体系的に学ぶこと。
英語を学ぶ
新しいテクノロジーが出た時、英語がわかると他の人より早く知ることができる。
海外にいって自由自在に日常会話する必要はない。
英語で探し方を知っておくと、大きな時間的アドバンテージになります。
コンフォートゾーン
自分の居心地のよい場所にいると成長が滞る。
自分で決めてコンフォートゾーンから出る必要がある。
他人から言われてやるのはだめ、自分の意思で行う分にはいい。
質疑応答
興味のあることとやりたいことが違う場合どうするか
やりたい、やる気のあるのならいい。
やってみた結果適性がないこともあるが、どうすれば得意になるかなどを考えましょう。
アウトプットする時、間違ってアウトプットしたらどうしよう
「誠実であれ」が基本であると思います。
書いてる時に間違いであると知らなかったら別によい。
間違いだとわかったら訂正すればいい。
海外のエンジニアってデキるの?
プログラミングのスキルならあんまり変わらない。
知っている範囲が日本とはずれているので、どっちが優秀とかはない。
資格ってどうなの
資格はこの試験で〇〇点とった、といった証明しかできない。
プログラマーじゃない人に対して、自分はこの程度できますという使い方ができる。
日本のSE業界に足りないもの
合理的判断と生産性。
生産性が低いともうけがでない。
生産性があげられない理由は、「うちは今までこうしてきたから・・・」とかなど非合理的な判断のため。
回りと違うことをやるときに、どういう心構えをもつべきか
周りと同じことをやると安心するもの、しかし同じことをしているための不利益もある。
ニッチな領域に行くか、競争の激しいところにいくか、自分で判断すること。
コミュニティの問題
暴言を吐く人もいるが、OSSでお金をとっていないので、気に入らないなら使わなくても結構ですというスタンスでのりきった。
アウトプットで作ったものなどが誰にも使ってもらえなかったら
Rubyの場合は、作るのが目標だったのでそういうのはなかった。
自分の中で目標をもってもらうのがいい。
なんでRubyが死んでると言われるのか
どんどん新しい技術がでていき、それを追い求める集団がいる。
そういう人たちにとって、Rubyは大分前からあるもの。
つまり知的好奇心を刺激しない領域になっている。
現在でもRubyはたくさん使われている。
本当の意味でのRubyの死はないんじゃないかなと思います。
死の定義は人それぞれですが。
アウトプットを継続してやる方法
Twitterから初めて、敷居を下げてからやってみるといいかも。
考えることをあきらめないでください。
考えると道はひらける。
タイムライン
#spzcolab 着席しました◎ pic.twitter.com/EH1flMvfKa
— 相生ゆら (@Yla_rails) March 30, 2019
学生少なめ
— ムネ (@ukemi_munehiro) March 30, 2019
#spzcolab
今日の目的
— みかみん (@mkmn252) March 30, 2019
1. Matzの御尊顔を拝む
2. エンジニアとしての生き方を考える
3. 何かを始めるきっかけとする#spzcolab
.@shun_iii さんとサポーターズ京都から参加してます!#spzcolab pic.twitter.com/pNFOxVz93G
— 宮川 竜太朗 (@DragonTaro1031) March 30, 2019
— きゅ〜ぶ (@fisherman3110se) March 30, 2019
エントリーシートは史上最悪の発明w
— 𝐾𝑂𝑁𝐴𝑀𝐼 ¹⁶プログラミング勉強中 (@kona_peso) March 30, 2019
テクノロジーが人を幸せにしない例#spzcolab
アルファシンドロームかあ
— きゅ〜ぶ (@fisherman3110se) March 30, 2019
確かに役職でもないのに現場にいる期間が長いだけでリーダーとか権威を振りかざす人多いよな
#spzcolab
好きこそ物の上手なれ、ほんとそうですよね。
— 入口瞬 (@shun_iii) March 30, 2019
義務感からの勉強ではなく、夢中になれるかどうかって大事。
それによって成功確率も成長角度もだいぶ変わってきそうですね。
#spzcolab
学生の勉強と社会での勉強って確かに相反してるよな
— きゅ〜ぶ (@fisherman3110se) March 30, 2019
エンジニアとして働いていると記憶することより調べ方やコツを把握することの方が重要。
#spzcolab
社会人になってからも勉強(学習)することは重要だけど漠然と勉強するだけでは差別化にならない。
— YumaWada@ProgateJunkie(Lv.250) (@nekotter222) March 30, 2019
自分の得意 興味 趣味 嗜好 背景を振り返る。
生活に繋がれば尚良いが、お金を目的とすると視野が曇る。#spzcolab
音楽からPodcast
— きゅ〜ぶ (@fisherman3110se) March 30, 2019
小説から技術書
ゲームからプログラミング
生活を見直すことで成長に繋がる
#spzcolab
・アウトプットを繰り返すと、アウトプットが最適化される。
— ムネ (@ukemi_munehiro) March 30, 2019
→アウトプットが楽になる
この感覚は、最近わかる!結城さんのおかげで、感想書くのがとても楽になってきた感じある
#spzcolab
得意なことを伸ばせ、でもアウトプットに関しては苦手であっても克服するべき。
— どんぶラッコ (@don_bu_rakko) March 30, 2019
何故ならば、アウトプットは「自分が何を考えているか」を伝達する唯一の手段だから。そして、それが差別化に繋がる。
わかりみが深い#spzcolab
成功するために知名度を高めるのは大事だよな、実際
— きゅ〜ぶ (@fisherman3110se) March 30, 2019
アウトプットすることで知ってもらえて興味持ってもらえたことが仕事に繋がったり関係ができたりうするかもだし
#spzcolab
イノベーター
— きゅ〜ぶ (@fisherman3110se) March 30, 2019
アーリーアダプター
<キャズム(峡谷)> 乗り越えるのが大変
アーリーマジョリティ
レートマジョリティ
ラガード
#spzcolab
生きていくための戦略
— 𝐾𝑂𝑁𝐴𝑀𝐼 ¹⁶プログラミング勉強中 (@kona_peso) March 30, 2019
①基礎を抑える
-アルゴリズム・コンピューターアーキテクチャ等
②英語を学ぶ
-新しいテクノロジーが発生した時、時差を埋められる
③コンフォートゾーンを出る
-自分の居心地のいいところにいると成長がない
by Matzさん#spzcolab
要約
— 進撃する人@現役エンジニア (@mikasa_program) March 30, 2019
・好きこそものの上手になれ(得意、興味、趣味、嗜好、背景)
・アウトプットをしろ(Qiita、ブログ、note)
・埋没しないように差別化を考えろ
・基礎を抑えよ、英語を学べ、コンフォートゾーンから出よ#spzcolab #Ruby#Rails
matzさん 講演メモ
— わん@ミニマリスト (@minimaldisciple) March 30, 2019
○得意を伸ばす 苦手は別の方へ
○好きなことは学習効率高い
○差別化が大切
○ヒマ=時間の使い方がヘタ
○アウトプットは敬遠されがち
○知名度は武器
○ニッチな分野へ
○時間と収入は無関係
○新情報は大抵英語発信
○世界→日本で流行るには5年の時差#spzcolab#Ruby#Rails
資格の勉強、過去問のパターン覚えていて本当に時間の無駄だから基礎知識を身につけるためにってやり方に切り替えるべきかな
— 無LINE (@Mu_LINE2019) March 30, 2019
#spzcolab
ドリコムでやってたサポーターズのイベント、Ruby開発者Matzさんの講演。勉強と発信が大事って話だったので自分的まとめを発信してみる。
— Yukichan (@Yukichan_0528) March 30, 2019
字が汚いのを恐れるな(笑)#spzcolab pic.twitter.com/hRfxhiRxvO
おまけ
最初のドリコムさんの紹介にあったAROWという3Dリアルマップサービスは前回のGotandaunity#11で細かく解説されているので気になる方はチェックしてみてください。
近々オープンテストもあります。
アウトプットをしてみたい方はこちらのスライドもどうぞ
docs.google.comこちらは去年の10月にサポーターズCoLabで開催されていた。
「エンジニアブログを一年続ける方法」という勉強会の資料です。
Twitterで勉強会の実況や感想を呟くことからも立派なアウトプットです。
間違っている箇所、消してほしいツイートがありましたらコメントにお願いします。