#自己紹介
アカウント
github→ twada
書籍
プログラムマが知るべき97のこと
レビューをしていただける最低条件→テストコードを書いている
海外での立ち位置
power-assert javascriptのテストツール
話の下地
きのこ本で最も参照された本→達人プログラマー
"常にあなたの知識ポートフォリオに投資すること"
#学び方を学ぶ
リクルートテクノロジーズの研修
1. 四半期ごとに技術書を読む(何を読むか迷ったらいいと思った本の参照先をたどる)
記憶について
感覚記憶(0.5 ~ 2sec)
短期記憶(15 ~ 30sec)
長期記憶(死ぬまで?)
"忘れる" = 記憶は格納されているけどたどり着けない
- 記憶のピッカーを育てる=反復練習(何度も長期記憶からとりだす)
- 連想する=他の記憶とセットで。つながりを意識。→たとえば、本を時系列で並べる(railsの誕生によってどのような影響があったのかを意識すると誤読を防げる)
2. 手を動かして学ぶ
まず始める
やる→できる→好きになる→できる→好きになる→、、、、
デールの円錐
インプットよりもアウトプットした方が記憶が定着する
写経について
毎年一つは言語を学習する
↑達人プログラマーの教え
駆け出しプログラマーは仕事で使う言語をマスターする。
その後は違うパラダイムの言語を学ぶ(静的、動的、オブジェクト指向、関数型、遅延評価)。ただし少しずつ変えていく。モダンな言語の方が改良が加えられている。
世の中の流れを知るには
technology radar(thought works)
英語は大事
特に読めるようにする
身の回りをプログラミング対象にする
プライベートの中でwebサイトを作ったりする
きのこ本でも、、
-
markdownで書く
-
git でバージョン管理
-
アウトプットいていく人には情報が集まる。インプットとアウトプットの正のフィードバックループが生まれる。
-
社内、社外でアウトプットできる場を作る
-
量は質に転化する(陶芸のクラスにて量で評価するクラスから質の高いものが生まれた)
-
ブログを書く "情報発信は数学の証明ではなく料理のようなものである"
-
付加価値を与えるにはいつやったのか、何を参照したのか、エラーログをそのまま載せたりする。情報量を多くする。
-
文書だけでなくコードを公開する。海外ともつながりができる。
-
ライブコーディング
現役プログラマでいるために
1. 毎日コードを書く
John Resig jQueryの作者
- 毎日コードを書く
- 意味のあるコードを書く。(リファクタリングはカウントしない)
- 深夜24時には終了すること
- OSSで公開する
進んでいるという実感が実際の進捗と同じくらい大事
アイディアはコードを書いている時以外に降りることが多い。常に考えるようにする。
###住む場所を工夫する
始発駅に住む→座れるからコードをかける
2. 年下から学ぶ
"一生プログラマーでいられるかどうかは年下から学べるか否か"
ベンチマークとアンラーニング
3. 過去から未来を見る
技術は振り子ではなく螺旋 差分を見る・理解することが大切
「技術選定の審美眼」 speaker deck
T字型ではなく複数の柱を
4. 人の作る渦を見る
Githubによって組織から個人の時代に
ロードマップ指向とエコシステム指向
エコシステム指向→中心部がレッドオーシャンで周辺部がブルーオーシャン
ロードマップ指向→iosの開発 アップルが舵取りしている
The Rise of "Worse is Better"(chasen.org)
5. 大事なことに集中する
書籍「エッセンシャル思考」
質問
モチベーションが落ちる
頭の中にインデックスをつけることも大切
技術書は通読しなくても良い
人を巻き込む
言語学習のゴール
自分以外の人に使われる段階になったら
自分のブランディングができた後で仕事の質が変わった。
アウトプットすることで自分の専門が確立していった。勝手に仕事がやってくる。
情報発信する前は履歴書にスキルセットを書くみたいな感じだった。