Raspberlyのブログ

Raspberlyのブログ

Unityネタをメインとした技術系ブログです。にゃんこ大戦争や日常なども。そろそろブログタイトル決めたい

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

勉強会のレポート(メモ)です。
参加したのはこちら、「【まつもとゆきひろ氏 特別講演】20代エンジニアのためのプログラマー勉強法 」
会場はドリコムさんです。

supporterzcolab.comハッシュタグ : #spzcolab

 

f:id:Raspberly:20190330210440j:plain

 

会場のアルコタワーは目黒川のすぐそばなので桜がきれいです。

f:id:Raspberly:20190330210614j:plain

 

 

スポンサー様

サポーターズ


ほぼ毎日勉強会開催、ハッカソンもやってます、公演会もやっています。
マスコットキャラクターもいます、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から初めて、敷居を下げてからやってみるといいかも。

 


考えることをあきらめないでください。
考えると道はひらける。

 

 

 

 

 

 

タイムライン

 

 

 

 

おまけ

最初のドリコムさんの紹介にあったAROWという3Dリアルマップサービスは前回のGotandaunity#11で細かく解説されているので気になる方はチェックしてみてください。
近々オープンテストもあります。

AROW オープンテスト版開発者登録

 

 

 

アウトプットをしてみたい方はこちらのスライドもどうぞ

docs.google.comこちらは去年の10月にサポーターズCoLabで開催されていた。
「エンジニアブログを一年続ける方法」という勉強会の資料です。

supporterzcolab.com

Twitterで勉強会の実況や感想を呟くことからも立派なアウトプットです。

 

 

 

間違っている箇所、消してほしいツイートがありましたらコメントにお願いします。