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
ソフトウェアエンジニアの学習方法/meta learning for engineers
Search
岡本卓也
January 29, 2026
Technology
0
100
ソフトウェアエンジニアの学習方法/meta learning for engineers
チーム内勉強会用の資料
岡本卓也
January 29, 2026
Tweet
Share
More Decks by 岡本卓也
See All by 岡本卓也
AI駆動開発の コードレビュー地獄を なんとかしたい / code-review-with-ai
okamototakuyasr2
0
50
気がついたらAIをガッツリ使っていた話 / getting-close-to-generate-ai
okamototakuyasr2
0
120
普通のチームがスクラムを会得するたった一つの冴えたやり方 / the best way to scrum
okamototakuyasr2
0
190
AI活用時代のUML再評価/UML collaborate with AI
okamototakuyasr2
0
570
私が好きなUMLダイアグラム / The UML Diagrams I Love.
okamototakuyasr2
0
97
スクラムチームだけどエクセルで要件定義書を書くことにしました / Requirements-Specification-Document-in-Scrum
okamototakuyasr2
2
2.8k
合宿はいいぞ / Training camp is so good.
okamototakuyasr2
0
860
幸運を科学する ~アジャイルチームの成功を再現する方法~ / How to reproduce nice team at ESM webiner.
okamototakuyasr2
0
97
幸運を科学する ~アジャイルチームの成功を再現する方法~
okamototakuyasr2
0
2k
Other Decks in Technology
See All in Technology
AIに視覚を与えモバイルアプリケーション開発をより円滑に行う
lycorptech_jp
PRO
1
690
Introduction to Bill One Development Engineer
sansan33
PRO
0
380
Digitization部 紹介資料
sansan33
PRO
1
7k
Oracle Cloud Infrastructure:2026年2月度サービス・アップデート
oracle4engineer
PRO
0
130
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
5
7.4k
男(監査)はつらいよ - Policy as CodeからAIエージェントへ
ken5scal
5
690
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4k
マイグレーションガイドに書いてないRiverpod 3移行話
taiju59
0
330
Eight Engineering Unit 紹介資料
sansan33
PRO
1
6.8k
dbt meetup #19 『dbtを『なんとなく動かす』を卒業します』
tiltmax3
0
130
メタデータ同期に潜んでいた問題 〜 Cache Stampede 時の Cycle Wait を⾒つけた話
lycorptech_jp
PRO
0
120
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
71k
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
130
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
200
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
310
Deep Space Network (abreviated)
tonyrice
0
84
How to make the Groovebox
asonas
2
2k
GitHub's CSS Performance
jonrohan
1032
470k
Bash Introduction
62gerente
615
210k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Producing Creativity
orderedlist
PRO
348
40k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Transcript
ソフトウェアエンジニアの学習方法 ― 知識をメタ化して成長する ― 2026/01/23 永和システムマネジメント 岡本 ソフトウェアエンジニアの学習方法 2026年1月 |
開発チーム 1
最初に この資料について 30年のソフトウェア開発経験から得た個人的な学び 唯一の正解ではなく、一つの参考として聞いてください 皆さんなりのやり方を見つけるヒントになれば ソフトウェアエンジニアの学習方法 N=1の私の体験からのアドバイスです “ “ 2026年1月
| 開発チーム 2
よくある悩み こんなこと、感じていませんか? 「色々経験しているが、成長の実感が薄い」 「具体的な作業はできるが、応用が効かない」 「先輩に教えてもらったことしかできない」 「新しい課題に直面すると、また一から調べ直し」 ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム
3
知識の3層構造 ソフトウェア開発の知識には3つの層がある 層 内容 例 第3層 学習のやり方 「どう学べば成長できるか」 ↑ さらにメタ化
第2層 抽象化されたスキル 「API設計とはこうあるべき」 ↑ メタ化 第1層 具体的なノウハウ 「このAPIはこう使う」 ソフトウェアエンジニアの学習方法 下から上へ、メタ化によって昇華させていく “ “ この資料で伝えたいのは「第3層」の話です “ “ 2026年1月 | 開発チーム 4
「慣れ」と「成長」は違う 慣れ 成長 同じ作業を繰り返して上手くなる 新しい課題にも対応できるようになる 経験を積めば自然に起きる 意識的なメタ化が必要 特定の作業が速くなる 応用力・問題解決力が上がる ソフトウェアエンジニアの学習方法
この資料では「慣れ」ではなく「意識的な成長」を対象にしています “ “ 2026年1月 | 開発チーム 5
第1層だけでは成長が止まる 第1層の知識の特徴 目の前の課題は解決できる 別の課題には応用できない 同じような問題でも「また調べ直し」になる 例 第1層(具体) 第2層(抽象化) 「このSQLでJOINできた」 「JOINの本質と使い分け」
「このエラーはこう直した」 「エラーの原因特定の考え方」 「このコードで動いた」 「なぜこの設計が良いのか」 ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 6
この資料でできるようになること 知識には3層の構造があることを理解する 第1層だけでなく第2層を目指すべきというメタ認知を得る 学習の方向性が見える 「どう学べばいいか」のヒントを得る ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 7
アジェンダ 1. 時代の変化と学習スタイル: 30年前と今の違い 2. なぜ第2層を目指すべきか: メタ化の重要性 3. 学習サイクル: 第1層から第2層への道
4. 私の学習スタイル: N=1の具体例 5. まとめ ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 8
1. 時代の変化と学習スタイル 30年前と今では何が違うか ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 9
私の経験:30年前の学習スタイル ウォーターフォール開発の時代 基礎的な作業から先輩に教えられて育った 5年ほどかけて一人前になるのが普通だった 技術の進歩が緩やかだったので、それで間に合った この経験が今の大きなベースになっている じっくり基礎を固める時間があった 同じ技術を深く学ぶ余裕があった ソフトウェアエンジニアの学習方法 2026年1月
| 開発チーム 10
今は何が違うか 学習に求められる条件が変わった 30年前 現在 技術変化が緩やか 技術変化が非常に速い 対象領域が限定的 覚えるべき領域が格段に広い 5年かけて一人前 5年後には技術が変わっている
一つの技術を深く学ぶ 複数の技術を素早くキャッチアップ 先輩が全てを教えられた コミュニティ・先輩・AIを活用して自走する 当時の学習スタイルはそのまま使えない ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 11
何を変えるべきか 変わらないもの 本質を理解することの重要性 メタ化して応用する能力の価値 変えるべきもの 学習のスピードと効率 情報を自ら取りに行く姿勢 第2層の知識を意識的に構築する ソフトウェアエンジニアの学習方法 2026年1月
| 開発チーム 12
2. なぜ第2層を目指すべきか メタ化の重要性 ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 13
ソフト開発の現実 全く同じ作業はほとんどない 日々の開発で「具体的にはこうする」は見せられる しかし、次に来る課題は必ず少し違う 第1層の知識だけでは、毎回「初めて」になる 第1層だけの状態 ソフトウェアエンジニアの学習方法 「あのときはこうやったけど、今回は違うから分からない」 “ “
2026年1月 | 開発チーム 14
メタ化するとどうなるか 第2層の知識がある状態 「この課題の本質は何か」が見える 過去の経験を抽象化して適用できる 初めての課題でも「たぶんこうだろう」と仮説が立つ 例:エラー対応 第1層 第2層 「このエラーはこう直す」 「エラーの原因は入力・処理・出力のどこかにある」
個別の対処法を覚える 原因特定のフレームワークを持つ ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 15
第1層と第2層の違い 観点 第1層(具体的ノウハウ) 第2層(抽象化スキル) 適用範囲 特定の状況のみ 幅広い状況に応用可能 賞味期限 技術変化で陳腐化 本質は長く使える
習得方法 経験・暗記 意識的なメタ化が必要 成長実感 薄い 積み上がる実感がある ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 16
3. 学習サイクル 第1層から第2層への道 ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 17
学習サイクルの3ステップ 第1層 → 第2層への変換プロセス Step 内容 説明 1 トリガを得る 体験する、話に聞く、ネットで見つける
2 メタ化する 考える、調べる、構造化する 3 実践する 試して深い理解を得る ポイント Step 1だけで終わると第1層止まり Step 2が最も重要(意識しないとスキップしがち) ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 18
Step 1: トリガを得る きっかけは何でもいい 体験する: 実際の開発で遭遇する 話に聞く: 先輩や同僚から聞く ネットで見つける: X、ブログ、記事など
本で読む: 技術書、ドキュメント 大事なのは ソフトウェアエンジニアの学習方法 トリガを得た後に**「なぜ?」 「本質は?」**と問うこと “ “ 2026年1月 | 開発チーム 19
Step 2: メタ化する 具体から抽象へ 「なぜこれでうまくいったのか?」を考える 関連情報を調べて背景を理解する 他の事例と比較して共通点を見つける 自分の言葉で構造化・言語化する メタ化の問いかけ 「これは他のどんな場面で使えるか?」
「この知識の本質は何か?」 「なぜこのやり方が良いのか?」 ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 20
Step 3: 実践して深い理解を得る 理解したつもりを本物にする 実際に試してみる うまくいかない部分で理解の浅さに気づく 修正して再度メタ化する 実践の場 日々の開発業務 個人プロジェクト
勉強会での発表(説明すると理解が深まる) ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 21
学習サイクルの図 Step アクション 内容 1 トリガを得る 体験・情報収集 ↓ 2 メタ化する
考える・調べる・構造化 ↓ 3 実践する 試す・失敗・修正 ↓ Step 1へ戻る サイクルを繰り返す ソフトウェアエンジニアの学習方法 このサイクルを回し続けることが成長 “ “ 2026年1月 | 開発チーム 22
体系化された知識も活用する 2つの学び方を並行して進める アプローチ 内容 ボトムアップ 個々の経験や洞察から積み上げる(学習サイクル) トップダウン ソフトウェア工学として体系化された知識を学ぶ 体系化された知識の例 設計原則(SOLID、DRYなど)
デザインパターン アーキテクチャの考え方 テスト技法 ソフトウェアエンジニアの学習方法 両方を組み合わせることで、効率よく第2層の知識が身につく “ “ 2026年1月 | 開発チーム 23
AIを活用する 今の時代の学習環境 昔 今 本を探して読む AIに質問して情報を得られる 詳しい人を探して聞く AIを壁打ち相手に議論できる 一人で考えると限界がある 一人でも深い洞察を得られる
ソフトウェアエンジニアの学習方法 「知りたい」というトリガさえあれば、学習は昔より効率的に行える “ “ 2026年1月 | 開発チーム 24
AI活用の注意点 答えをもらって終わりにしない AIの回答に対して**「なぜ?」を問い返す** AIはStep2(メタ化)の補助ツールとして使う 最終的な理解・判断は自分の頭で行う ソフトウェアエンジニアの学習方法 AIは「学習の加速装置」であって「学習の代替」ではない “ “ 2026年1月
| 開発チーム 25
4. 私の学習スタイル N=1の具体例 ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 26
私の情報収集:トリガの9割はX なぜXか 最新の技術トレンドが流れてくる 実践者の生の声が聞ける 興味のある分野の専門家をフォローできる 短い文章でエッセンスが得られる 注意点 玉石混交なので取捨選択が必要 トリガとして使い、深掘りは別の情報源で ソフトウェアエンジニアの学習方法
2026年1月 | 開発チーム 27
私の学習フロー Xで気になるトピックを見つけたら Step やること 1 関連情報を調べる: 公式ドキュメント、ブログ記事 2 本を買って読む: 体系的な理解のため
3 開発現場で試す: 実際のプロジェクトで使ってみる 4 振り返る: うまくいった点・いかなかった点を言語化 ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 28
本を読む習慣の価値 技術書は最もコスパの良い学習方法の一つ 先人の数年〜数十年の知見が数日で手に入る 体系的に整理されているので第2層の知識が身につきやすい ネット情報より深く、正確なことが多い 人により好き嫌いはあるが 苦手な人は、まず薄い本・入門書から 読み切らなくてもいい、必要な章だけでも価値がある ソフトウェアエンジニアの学習方法 技術書を読む習慣を持っている人は大きなアドバンテージがある
“ “ 2026年1月 | 開発チーム 29
まとめ ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 30
重要なポイント ポイント 内容 知識の3層構造 具体的ノウハウ → 抽象化スキル → 学習のやり方 第2層を目指す
第1層だけでは応用が効かず、成長実感も薄い 学習サイクル トリガ → メタ化 → 実践 を回し続ける メタ化が鍵 「なぜ?」 「本質は?」と問い続ける ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 31
頂きは高く 人間は成長する生き物 量は質に転化する 日々の取り組みは小さく、すぐに成果は見えない しかし積み重ねが、後になって大きな成果に変わる スキルは複利で効いてくる スキルがあると次の学習速度が上がる 特に第3層のスキルを身につけることが大事 ソフトウェアエンジニアの学習方法 焦らず、続けることが大事
“ “ 2026年1月 | 開発チーム 32
最後に 皆さんへのメッセージ 日々の開発経験は貴重なトリガ それを第2層に昇華させるかどうかは自分次第 完璧を目指さなくていい、少しずつ積み上げる 私もまだ学び続けています 30年経っても新しい発見がある 学び方を知っていれば、いくつになっても成長できる ソフトウェアエンジニアの学習方法 「経験」を「スキル」に変えるのは、意識的なメタ化
“ “ 今日お伝えしたかったのは、個々の技術ではなく「経験をどう学びに変換する か」という第3層の視点です “ “ 2026年1月 | 開発チーム 33
ディスカッション 皆さんの学習方法や悩みを ぜひ聞かせてください ソフトウェアエンジニアの学習方法 2026年1月 | 開発チーム 34