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
pdm_vibe_coding_fail.pdf
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
hiroaki
August 08, 2025
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
pdm_vibe_coding_fail.pdf
hiroaki
August 08, 2025
More Decks by hiroaki
See All by hiroaki
leadership-that-endures-book-lt
hiroaki_u
0
31
プロダクト負債に立ち向かう
hiroaki_u
2
2k
Communication with Ubiquitous Language
hiroaki_u
0
110
how to determine architecture
hiroaki_u
1
290
the-concept-of-product-creation-learned-in-startup-science
hiroaki_u
0
180
what-is-container
hiroaki_u
1
120
difference-between-nginx-and-apache
hiroaki_u
0
91
CI_CD_by_Code_Brothers_by_AWS
hiroaki_u
0
59
think of study
hiroaki_u
1
120
Other Decks in Technology
See All in Technology
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
280
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
260
サイバー捜査員研修(前半)
nomizone
1
1.6k
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
16
5.7k
Digitization部 紹介資料
sansan33
PRO
2
7.7k
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
1.7k
SnowflakeCoCoでデータエンジニアリング!
foursue
0
180
第3回しろおびセキュリティスポンサーセッション
log0417
0
140
初めてのGitHub Actions / GitHub Actions at First
tooppoo
0
140
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
4
1.2k
Amazon Bedrock Managed Knowledge BaseDive Deep
ren8k
0
400
TypeScript入門 2026
recruitengineers
PRO
1
300
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
360
Music & Morning Musume
bryan
47
7.3k
The SEO Collaboration Effect
kristinabergwall1
1
510
Bash Introduction
62gerente
615
220k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The Spectacular Lies of Maps
axbom
PRO
1
890
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.7k
From π to Pie charts
rasagy
0
250
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
First, design no harm
axbom
PRO
2
1.2k
Fireside Chat
paigeccino
42
4k
Transcript
package main import "fmt" func VibeCoding(pdm *ProductManager) (Output, error) {
// AI を活用してコードを生成 code := generateCodeWithAI() // 軽いテストで機能確認 if simpleTesting(code) { return deployToProduction(code) } return nil, fmt.Errorf("test failed") } // 生産性は本当に上がるのか? // システム全体への影響は? // エンジニアの役割とは? 2025 年8 月8 日 上田裕耀 PdM がVibe Coding したら 生産性が下がった話
package main import "fmt" func main() { fmt.Println("Hello, I'm a
Server-Side Engineer!") } 自己紹介 PdM@CastingONE キャリアパス 最近の興味 筋トレ 95% サウナ 90% AI 活用 80% 顧客理解 80% 冷食リサーチャー 美味しい餃子とは何か?とか調査してました。 サーバーサイドエンジニア(Go/GCP ) クリーンアーキテクチャとかモジュラーモノリスとか興味あります。 プロダクトマネージャー 1 人PdM 。組織全体で顧客解像度を高められるように日々奮闘しています。
func calculateProductivity(outcome float64, timeSpent float64) float64 { return outcome /
timeSpent } // 生産性は成果を時間で割ったもの // 同じ時間でより大きな成果を出せるか // または同じ成果をより短時間で出せるか 生産性とは? Outcome Time かけた時間に対してどれだけ価値を出せたか? 小さいインプットで大きなアウトカムが出せるかどうか 同じ時間でより大きな成果を出す・同じ成果をより短時間で出す
func HandleProductDevelopment(team, pdm, tasks []Task) []Outcome { // チームは大きなタスクに集中 majorOutcomes
:= team.FocusOn(tasks.Filter(ByPriority("high"))) // PdM は小さいけど価値のあるタスクを実行 minorOutcomes := pdm.VibeCoding(tasks.Filter(ByValueToEffortRatio("high"))) // 全体の成果 return append(majorOutcomes, minorOutcomes...) } なぜPdM がVibe Coding したのか? プロダクト開発 = やりたいことが無限大 重要な機能A 優先度高UI 改善 バグ修正 小さな改善X 軽微な修正Y 内部改善Z 重要な機能B 緊急修正 UX 改善 マイナー改修 新機能C チームの主な取り組み 大きな価値を生む重要な開発に集中 PdM のVibe Coding 素早い改善で価値を素早く提供
func handleIncident(report *IncidentReport) error { // 想定外の動作が報告された if report.Source ==
"customer_support" { incident := investigateIssue(report.Description) if incident.RootCause == "unintended_side_effect" { // 他機能への影響を見落としていた fixUnintendedSideEffect(incident) } } return nil } そして失敗しました 他の機能に対する影響 実装した機能自体は意図通り動作していたが他の機能との連携を考慮できていなかった 関連機能への副作用を事前に予測できず、想定外の動作を引き起こした 顧客に迷惑 マイナスの価値提供 + エンジニアの追加工数 リソース圧迫 結果的に生産性が 大幅に低下 リリース 自分の実装でリリース Vibe Coding で実装 簡易的なテスト PR 機能自体は意図通り動作 1 ヶ月後 CS からの問い合わせ 「◦◦◦ の部分が想定と違う動作をしているようです」 自分の実装で起こしたインシデント
func ensureQuality(code *SourceCode) (Product, error) { if !isAccessible(code) { return
nil, errors.New("accessibility standards not met") } if !isSecure(code) { return nil, errors.New("security requirements not met") } if !isPerformant(code) { return nil, errors.New("performance benchmarks not met") } // 他の品質チェックも同様 ... return buildProduct(code), nil } エンジニアの仕事って複雑 品質を保った上でアウトカムを生み出すために、 エンジニアはあらゆる要素を考慮した複雑な意思決定を行っている 直感性 クリーンコード 自動化 多言語対応 脆弱性検査 メモリ最適化 モジュール化 レビュー UX データ保護 スケーラビリティ 一貫性 品質保証 アクセシビリティ バグ対策 速度最適化 拡張性 CI/CD 使いやすさ セキュリティ パフォーマンス 保守性 テスト 品質
func makeEngineeringDecisions(requirements *ProjectRequirements) *Solution { // 技術的な深い理解が必要 knowledge := acquireTechnicalKnowledge()
experience := reflectOnPastProjects() // トレードオフの意思決定 decision := balanceTradeOffs( requirements.Performance, requirements.Maintainability, requirements.Security, requirements.DeliverySpeed, ) // AI フレンドリーな環境構築 workspace := prepareAIFriendlyEnvironment() workspace.AddStructuredDocumentation() workspace.OrganizeCodeArchitecture() return &Solution{ Quality: knowledge.Combined(experience), TradeOffs: decision, AIReady: workspace.IsReady(), } } AI 時代だからこそ求められる専門性 技術の深い理解 「複雑なシステムの相互作用を把握する力」 学びのサイクル 「過去の失敗と成功から学び続ける姿勢」 トレードオフの意思決定力 「相反する要素の最適なバランスを見極める」 AI フレンドリーな開発体制 「人間とAI の両方が理解しやすい環境が生産性を高める」 構造化ドキュメント 明確なアーキテクチャ 一貫性のあるコード規約 ユビキタス言語
func humanResponsibility(capabilities []Capability) Value { // AI ができるからやるのではなく // 価値提供を高速で行うために使う
var totalValue Value for _, capability := range capabilities { if judgement := evaluateRealValue(capability); judgement.IsValuable() { totalValue += implementWithResponsibility(capability) } } return totalValue } 最後に 「できるからやる」ではなく、 「価値提供を高速で行うために使う」ことが大切 価値提供は(まだ)プロフェッショナルな領域しかできない(と思っている) AI によって多くが自動化される時代だからこそ、 人が担うべき価値に対しては、責任を持ち続ける必要がある
package main import "fmt" func main() { // 発表終了 fmt.Println("
ご清聴ありがとうございました ") // 質問があればお気軽に questions := []string{ "AI との協働について ", "Vibe Coding の可能性 ", " エンジニアの役割 ", } for _, q := range questions { listenAndRespond(q) } } func listenAndRespond(question string) { // 質疑応答の時間 fmt.Printf("Q: %s\n", question) // 回答準備 ... } ご清聴ありがとうございました