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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Minato Nakamura
April 13, 2024
Programming
0
390
知らないプロダクトのコードを爆速でキャッチアップする方法
Minato Nakamura
April 13, 2024
Tweet
Share
More Decks by Minato Nakamura
See All by Minato Nakamura
新規プロダクトをマネジメントするために工夫したこと
nelca
0
540
Other Decks in Programming
See All in Programming
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
1k
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
200
Data-Centric Kaggle
isax1015
2
780
MUSUBIXとは
nahisaho
0
140
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
180
組織で育むオブザーバビリティ
ryota_hnk
0
180
CSC307 Lecture 04
javiergs
PRO
0
660
Gemini for developers
meteatamel
0
100
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
CSC307 Lecture 09
javiergs
PRO
1
840
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
58
50k
Into the Great Unknown - MozCon
thekraken
40
2.3k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
190
Navigating Weather and Climate Data
rabernat
0
110
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
190
The Pragmatic Product Professional
lauravandoore
37
7.1k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
650
Measuring & Analyzing Core Web Vitals
bluesmoon
9
760
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Tell your own story through comics
letsgokoyo
1
810
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Transcript
知らないプロダクトのコードを 爆速でキャッチアップする⽅法 Mynato
目次 • 自己紹介 • 今日話すこと • 結論、この2つ • キャッチアップするためにやること •
何があると良いか • 結局のところ • まとめ 2
自己紹介 名前:Mynato(中村南斗) 所属:アスエネ株式会社 何やってる?:環境系BEエンジニア 兼 PdM 3
今日話すこと 初めて触るプロダクトにであった時 「どこからどうやってみていけば良いの?」 そんな時にちょっとだけ思い出してみてもらえれば コアラがなんか 言ってたな... 4
結論、この2つ • コードを読む(そりゃそう) • 周辺知識を把握する(うろ覚えでもよい) 5
キャッチアップするためにやること 歴史を知る • 古い仕様書を見にいく • 疑問のある仕様はガンガン聞く • 気になったキーワードはSlackで検索する • コードをblameして見ていく
◦ 関連するPRからチケットや仕様書を辿る 6
キャッチアップするためにやること ドメインを知る • わからない単語はとにかくググる • 仕様の背景になるドキュメントを社内・社外含めて漁る • とりあえずいろんなSlackチャンネルに入る • コード上のドメインロジックを探す→資料を探す→今の仕様を理解する→ドメイ
ンの理解を深める 7
キャッチアップするためにやること 機能を知る • 1つの機能は全てにつながる ◦ 機能に関連するテーブルは全部見にいく ◦ テーブルのリレーションから機能のつながりを理解する ◦ 指数的にわかる範囲が増えていく
• 疑問に思ったらまず画面を触る ◦ 手がかりがない時はコードから検索 →画面を触る→コードを詳しくみる ◦ 開発者ツールを開いておいて、 APIが叩かれてるかを知る →APIの中身も見る • 機能の中で気になる仕様はコードを見にいく ◦ 沼ることが多々あるが、他人に説明できる程度まで理解する 8
キャッチアップするためにやること 今起きていること、これから起きることを知る • 発生しているエラーは全て原因のあたりがつくまで調査する(という気持ち) • 問い合わせは全て自分でも調べてコードベースで理解する(という気持ち) • 一次情報まで調べにいく ◦ 公式ドキュメントしか勝たん
• CSの問い合わせ対応、セールスチームの案件情報をキャッチアップする ◦ これから起きるであろうことの予測、背景を把握する 9
キャッチアップするためにやること 歴史を知る ドメインを知る 機能を知る 今起きていること、これから起きることを知る 10
何があると良いか 検索力。とにかくいろんなところを調べてみる。 • どこで起きてる? ◦ コード全体でキーワードの検索 • 何をやってる? ◦ 迷ったら公式ドキュメント
• どうしてこうなってる? ◦ 社内ドキュメント、チケット • 誰に聞けば良い? ◦ 意外とSlackは情報の宝庫 11
何があると良いか 仮説と検証の繰り返し • この仕様はどういう背景でこうなっているのか ◦ ユーザーからの要望なのか ◦ システム制約なのか • ここのコードはどうしてこうなっているのか
◦ なんでこんなに複雑なのか ◦ なんでここで処理しているのか 12
何があると良いか 勘 • 起きている事象は ◦ FE or BEで処理されているのか ◦ DBのデータに保持されているのか
◦ ユーザー環境起因のエラーなのか • エラーとか問い合わせ見てたらなんとなく当たりがつく ◦ ユーザーがこういう操作をしてるのではとか ◦ このバッチが動いてるからとか ◦ →想像力とも言える 13
何があると良いか 検索力。とにかくいろんなところを調べてみる 仮説と検証の繰り返し 勘 (想像力) 14
とにかくコードを読む • しつこいくらいに深追いする ◦ バックエンドエンジニアでもフロントは見にいく ◦ DBのデータも見にいく ◦ ログも見る •
けど諦めも必要 ◦ 10分くらい同じ箇所をずっと眺めていたら諦める ◦ 誰に聞けばわかるか、も立派な知識(だから自分で頑張りすぎない) ◦ 魔境を見つけたら逃げよう 結局のところ 15
結局のところ 納得するまで触る→周辺知識を把握する • 機能を触る→コードを見にいく→触ってみるの繰り返し ◦ 自然とコード外の世界の理解も必要になる。 • 他人に対して自分が説明できるくらいまで理解する ◦ ドメインの知識をつけないと説明できない
◦ ユーザーがどう使っているのかという想像もできるようになる 16
まとめ とにかくコードを読んで 納得するまで触り 周辺知識を把握すれば 爆速キャッチアップできます!(N=1) 17
最後に 新しいプロダクトを爆速キャッチアップしたい方お待ちしております! 18