技術者の学習習慣(エンジニア勉強法)
強いエンジニアが実践している調査・勉強・情報収集の手法をまとめた体系。kzk4043 が社内フロントエンドスペシャリスト10名へのインタビューと「ゆめみ/虎の穴ラボ」の勉強法の勉強会をベースに整理。
銀の弾丸はない。個人差が大きく、引き出しを持って自分に合ったものを選ぶのが本質。
調査の基本フロー(仕事でつまったとき)
コードを変えて境界線を確認
↓
AIに聞く(検索のヒントを得る・ラバーダッキング的活用)
↓
公式ドキュメント / Google 検索
↓
GitHub(社内リポジトリ・社外OSS)を検索
↓
人に聞く(20分タイマールール)
AIの正しい使い方
- 解決ではなく検索のヒントを得る(ラバーダッキング的使い方)
- 知らない単語の説明・「XとYの違い」の確認・理解の検証に使う
- エラーメッセージ全体をそのまま貼る
- エラーが出ない場合や言語化が難しい問題は避けがち
GitHub 検索の活用
org:組織名 /調べたい文字列/ path:package.jsonでライブラリの実際の使われ方を確認- 問題ライブラリのリポジトリで Issue を検索(
.で github.dev を開く) - Google 検索と同頻度で GitHub を使うエンジニアも存在する
学習の主要メソッド
実装による学習
- 同じブログを異なるアーキテクチャで5回作り直す:FW全体の把握と比較に有効
- ゲーム(ボドゲ・トランプ)を実装:仕様が決まっており適度に複雑なため学習素材として優秀
- 自分が使う用のツール、課題ベース・技術ベースで選ぶ
スクラップ勉強法
Zenn scrap を使ったスクラップ起票→追記スタイル。
- とりあえず起票して、何かあったらメモを追加していく
- 「一応公開されている感」が気軽でちょうどいい
- 用途:調べ物実況・作業実況・ドキュメント読み実況
自分リリースノート
- 1年間の目標を設定し、毎月リリースノートのように1ヶ月の成果を記載
- 月次振り返りを可視化する継続的な自己評価メソッド
LT・勉強会の逆算活用
- 先にLTを申し込んで、そこに向けて勉強する:締め切り駆動の学習
- 勉強会は「ゴール設定なし・テーマのみ設定」「一回でも休まない」が習慣化の鍵
本の読み方
- 1周目:実装せずサラッと読んで全体把握
- 2周目:大事なところを実装しながら精読
- 対象領域で2冊程度がちょうどいい
- 技術書よりマネジメント・UI・自己啓発系を読んでいる強いエンジニアが多い印象
- 能動的・批判的な読書には OUTPUT読書術(アバタロー) のフレームワーク(仮説→ツッコミ→要約→出力)も有効
人に教えることによる学習
- 違う角度からの復習になる(コストが高いため実行率は低いが効果は高い)
- 質問される場・ポジションを意図的に作ることが重要
- 誰かの疑問は重要な問いである可能性が高い
最新情報収集のフロー
情報収集の鉄則
「単語を知っておく」を目標にする。理解を目指すと継続性が下がる。仕事で必要になったときの入口とする。
Pick と読むを分離する
- 記事をPickするフェーズと読むフェーズを分けるのが効率的
- 長い記事は Gemini で要約 → 興味があれば全文読む
- 8割は流し読み、残り2割はメモを取りながら精読
チャンネル別の活用法
| チャンネル | 推奨活用法 |
|---|---|
| X(Twitter) | 良いTL構築。ブックマーク or その場で読む |
| times(社内Slack) | JserInfo 等 Feed 購読。人の times を見るのが一番勉強効率がいい |
| メーリングリスト | 週1月曜にまとめてチェック → Zenn scrap に貯める |
| connpass | 月1参加。参加できない回も資料で補完 |
| Podcast | 通勤・散歩中に聞く |
マインドセット
学習の本質
- 実戦に勝る修行はない(by 幽遊白書)— 実戦機会を得るしきい値まで努力が必要
- 効率 × 時間 が学習量の本質。魔法はない
- 自分の行動原理を肯定し、自分の欲求を学習に活かす
- 人間が作ったものは人間が理解できる
学習曲線と停滞期
- 停滞期があることを理解する
- 時間だけでなく期間が必要(継続の重要性)
パレートの法則の応用
- 価値の8割は2割の学習時間から生まれる
- 伸びる人:2割効果の高い勉強に時間を集中
- 伸び悩む人:8割の時間を効果の低い(残り2割の価値しかない)勉強に使っている
習慣化のコツ
- 30分の勉強習慣から始める
- 立ち上がりを簡単にする(やること決め・勉強工程の分割)
- 完成させないことを悪く考えない(完璧主義を脱却)
AI時代の学習意義
- AIは責任を取れない → 嘘を見抜く力が必要
- 丸暗記は今まで以上に意味がない
- 進化が早まるのでむしろより多くの学習が必要
強いエンジニアの共通観察
- 明確な「勉強ルール・習慣」を持つ人は意外と少ない。好きだから強くなった人が多い
- 平日は小分けに(気になったその場で調べる)、週末は趣味の勉強
- times を中心に情報共有・収集している人が多い
無料リソース活用(独学者向け)
独学でプログラミングを始める場合は プログラミング独学リソース集 を参照。chi1180 が実体験をもとに厳選した神サイト集で、freeCodeCamp・W3Schools・AtCoder・MIT OCW など20以上のサイトが言語別・用途別に整理されている。
レベルチェックとしては 競技プログラミング(AtCoder) が定番。コンテストへの参加が学習意欲を大幅に高める効果がある。
牛尾 剛の学習フレームワーク(世界一流エンジニアの思考法)
牛尾 剛は学習における「理解」を3要素で定義し、エンジニアの脳の使い方を難易度レベルで分類している。
理解の3要素
→ 理解の3要素(牛尾剛) 参照
仕事の難易度レベル分類
- レベル1: 何もググらずに即座に実装できる(熟達した知識)
- レベル2: 解法はわかるがぐぐる必要がある(理解済み・定着不足)
- レベル3: スパイクソリューションで対応できそう(探索的学習が必要)
- レベル4: 自分だけでは解決が難しい(他者への相談が必要)
デザインドキュメント先行
手を動かす前にDesign Documentを書くことが最も強力な理解深化手法の一つ。 → デザインドキュメント先行アプローチ
コーネルメソッド
3エリア(ノート・キュー・サマリー)構成のノート術で「後から思い出しながら書く」が核心。 → コーネルメソッド(ノート術)