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
16
カスタムHooksと単体テストの共通点について
ken7253
0
230
検索エンジン最適化はWebサイトのすべてなのか
ken7253
0
36
使いやすいツールチップを実装する方法
ken7253
0
59
Reactにおけるkeyの使い方について
ken7253
1
120
テックブログ文豪への道
ken7253
0
46
関数型プログラミングの考え方を取り入れて予測しやすいコードを書く
ken7253
0
130
Other Decks in Programming
See All in Programming
Macとオーディオ再生 2024/11/02
yusukeito
0
140
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
PRO
2
1.7k
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
470
カラム追加で増えるActiveRecordのメモリサイズ イメージできますか?
asayamakk
4
1.5k
Sidekiqで実現する 長時間非同期処理の中断と再開 / Pausing and Resuming Long-Running Asynchronous Jobs with Sidekiq
hypermkt
6
2.6k
Tuning GraphQL on Rails
pyama86
2
1k
Jakarta Concurrencyによる並行処理プログラミングの始め方 (JJUG CCC 2024 Fall)
tnagao7
1
230
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
7
420
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
130
macOS でできる リアルタイム動画像処理
biacco42
3
1.4k
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
7
2.7k
go.mod、DockerfileやCI設定に分散しがちなGoのバージョンをまとめて管理する / Go Connect #3
arthur1
10
2.3k
Featured
See All Featured
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
Thoughts on Productivity
jonyablonski
67
4.3k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Testing 201, or: Great Expectations
jmmastey
38
7k
We Have a Design System, Now What?
morganepeng
50
7.2k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.9k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
Designing on Purpose - Digital PM Summit 2013
jponch
115
6.9k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
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を触ると勘違いで挙動の理解に苦しむ。 自分の進みたい先が分からない時はとにかく基礎を学ぶといい。 エンジニアとしての基礎知識
基礎を徹底的に学ぶのもいいが、興味ある分野が見つかったら調べてみるといい。 小さな知識でも知っている人が少ない知識を持っていると凄そうに見える。 インプットコストや前提知識は大きくなるが安定したポジションを取れるとリターンも大 きい。 フロントエンドエンジニアで、領域としては${特定の技術領域}などをやってます。 フロントエンドエンジニアで、${特定の技術領域}が好きです。 最終的に自信を持ってこういう挨拶ができるように勉強を続ける。 自分の興味ある領域・技術
まとめ
まずはインプットの習慣化を業務時間内で 学習時間は業務時間より先に確保しておく アウトプットも最小限でやってみる 慣れてきたら質を上げてみる 学ぶべきことが分からない時は、エンジニアとして抑えておくべきことを学ぶ 興味が湧く領域があったら自信を持って話せるまで学んでみる まとめ