Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
学び続けるための方法
Search
ken7253
September 04, 2023
Programming
0
110
学び続けるための方法
社内LT会で話した自分の学習方法についてまとめたスライドです。
ken7253
September 04, 2023
Tweet
Share
More Decks by ken7253
See All by ken7253
レビューのやり方を(ちょっと)整理した話
ken7253
0
45
オーバーロード関数の話 @Mita.ts #2
ken7253
0
47
フロントエンドカンファレンス北海道参加レポート
ken7253
0
18
カスタムHooksと単体テストの共通点について
ken7253
0
270
検索エンジン最適化はWebサイトのすべてなのか
ken7253
0
38
使いやすいツールチップを実装する方法
ken7253
0
69
Reactにおけるkeyの使い方について
ken7253
1
130
テックブログ文豪への道
ken7253
0
53
関数型プログラミングの考え方を取り入れて予測しやすいコードを書く
ken7253
0
140
Other Decks in Programming
See All in Programming
Recoilを剥がしている話
kirik
5
6.6k
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
fs2-io を試してたらバグを見つけて直した話
chencmd
0
230
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
930
わたしの星のままで一番星になる ~ 出産を機にSIerからEC事業会社に転職した話 ~
kimura_m_29
0
180
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
Security_for_introducing_eBPF
kentatada
0
110
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
540
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
210
たのしいparse.y
ydah
3
120
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Embracing the Ebb and Flow
colly
84
4.5k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Designing for Performance
lara
604
68k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Making the Leap to Tech Lead
cromwellryan
133
9k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Practical Orchestrator
shlominoach
186
10k
RailsConf 2023
tenderlove
29
940
Bash Introduction
62gerente
608
210k
Transcript
Keep learning 学び続けるための方法
ken7253 Frontend developer 技術記事を書いたりするのが趣味。 最近はNext.jsを使ったアプリケーションを書いています。 インターフェイス設計やアクセシビリティ・SSG関連の技術に興味があります。 https://github.com/ken7253 https://zenn.dev/ken7253 https://dairoku-studio.com
なぜこのスライドを作ったのか そろそろフロントエンド5年目になる 持論を展開するようなスライドを書きたくなった いちおう中堅エンジニアぐらいにはなれたような気がする じゃあ中堅になるまでにどういう勉強方法したっけってまとめを書いてみる
話すこと 勉強法を模索して気付いたことをまとめます あくまで個人の体感の話です 学習方法は人それぞれなので自分に合ったやり方を探すきっかけに
知識のアップデートで気をつけていること
学習における負のループ
学習における負のループとは下記のような状態 1. キャリアが増えるにつれ、知らないといけないことが増えてくる気がする 2. 不安から技術的な発言や質問を控えるようになってしまう 3. 学習の機会が減る 4. 学習効率の悪化によって更にキャッチアップが難しくなる 業務が回せるようになった時期、知らないことを質問する機会が減るので陥りやす
い。 学習における負のループ
自分が想像しているコミュニティのレベル感と自分自身のレベル感との乖離が原因 「コミュニティのレベルを下げる」ということはできないので基本的に学ぶしかない インプットの習慣化で軽減できる(気がする) アウトプットの習慣化で軽減できる(気がする) どれだけ勉強しても質問はし忘れるし、アウトプットも怖いので諦める 恐怖心があるからこそきちんと調べてからアウトプットできる 負のループへの対処
木こりのジレンマ
※ 【神様がいれば「ふりかえり」はいらない。 - ユニファ開発者ブログ 】 より引用 木こりのジレンマ
目の前の作業をこなすのに精一杯 で余裕がない状況 先程とは違い中堅以降で起こりがちな現象だと思っています。 仕事に精一杯取り組むのは偉い 休み方や斧の研ぎ方を教えるのも仕事のうち 「業務が忙しくて勉強ができない」という理由づくりを(自分に)させない 学びと同時に業務の効率化と自動化を進めてチームに余裕を持たせないといけない。 木こりのジレンマ
どう学ぶか
いきなり業務時間外でも「バリバリコード書いてアウトプット」は正直敷居が高い。 できないことを目標にしてはいけない、できる範囲で確実に 毎日30分、技術動向を追うために記事を見る 基礎知識を深めるために毎日MDNを読む 集中力が切れたらX(Twitter)を見る 毎日30分学習している人とそうでない人では年間120時間程度の差が出る 30(m) * 245(d) /
60(m) = 122.5(h) / 8(h) = 15.31(営業日) 業務時間内で学ぶ習慣づけをする
パーキンソンの法則 第一法則 より業務の空き時間で勉強することはできない。 そのため、学習時間は業務時間よりも先に確保する必要がある。 パーキンソンの法則とは、イギリスの歴史学者・政治学者であるシリル・ノースコート・パーキンソンが当時の行政組 織を研究するなかで、組織・運営と人間の心理作用に関する非合理的な行動の分析を説いた法則を指す。 パーキンソンの法則は以下の2つの法則から成り立つ。 第一法則:「仕事の量は、完成のために与えられた時間をすべて満たすまで膨張する」 第二法則:「支出の額は、収入の額に達するまで膨張する」 ※
パーキンソンの法則 | 三菱UFJリサーチ&コンサルティング より引用。 必ず業務時間より先に学習時間を確保する
インプットの習慣がついたらアウトプットもする。 アウトプットも絶対にできることから始めてみる。 まずは、読んだ記事のURLとかをX(Twitter)や自分のtimesにポストするだけでいい。 なるべくパブリックなチャンネルにポストする 読み始めにURLを貼って読みながらスレッドをつなげるとよい 記事以外にも業務の中で学んだことなどを書き留めておく (忘れるので)何かしらの形で 学んだことを残しておく アウトプットを行う
Zenn.devのスクラップ機能などもおすすめ。 アウトプットを行う
習慣化ができてきたら、たまに質を上げてみる。 インプット 社外の勉強会に参加してみる 難しめの技術書を買ってみる(オライリー・技評) アウトプット LTで話してみる 記事を書いてみる 💡 インプットの質を先に上げたほうがスムーズに進みやすい。 習慣がついてきたら
何を学ぶべきか
3つの軸 勉強する対象は色々あるので分割してみる。 仕事に必要なこと エンジニアとしての基礎知識 自分が興味がある領域・技術
おそらくみんなもうやってると思うので割愛 仕事に必要なこと
OSの話であったり、プロトコルの話だったり、プログラミングパラダイムだったり。 基礎知識があるかないかで学習効率がかなり変わってくる。 Reactを例にすると… Reactを学ぶ前に関数型言語の考え方を知っていると理解がかなり短縮される。 オブジェクト指向しか知らないでReactを触ると勘違いで挙動の理解に苦しむ。 自分の進みたい先が分からない時はとにかく基礎を学ぶといい。 エンジニアとしての基礎知識
基礎を徹底的に学ぶのもいいが、興味ある分野が見つかったら調べてみるといい。 小さな知識でも知っている人が少ない知識を持っていると凄そうに見える。 インプットコストや前提知識は大きくなるが安定したポジションを取れるとリターンも大 きい。 フロントエンドエンジニアで、領域としては${特定の技術領域}などをやってます。 フロントエンドエンジニアで、${特定の技術領域}が好きです。 最終的に自信を持ってこういう挨拶ができるように勉強を続ける。 自分の興味ある領域・技術
まとめ
まずはインプットの習慣化を業務時間内で 学習時間は業務時間より先に確保しておく アウトプットも最小限でやってみる 慣れてきたら質を上げてみる 学ぶべきことが分からない時は、エンジニアとして抑えておくべきことを学ぶ 興味が湧く領域があったら自信を持って話せるまで学んでみる まとめ