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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
hiroaki
August 08, 2025
Technology
200
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
25
プロダクト負債に立ち向かう
hiroaki_u
2
1.9k
Communication with Ubiquitous Language
hiroaki_u
0
110
how to determine architecture
hiroaki_u
1
270
the-concept-of-product-creation-learned-in-startup-science
hiroaki_u
0
180
what-is-container
hiroaki_u
1
110
difference-between-nginx-and-apache
hiroaki_u
0
86
CI_CD_by_Code_Brothers_by_AWS
hiroaki_u
0
56
think of study
hiroaki_u
1
110
Other Decks in Technology
See All in Technology
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
420
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
SteampipeとExcel Power QueryでAWS構成定義書の作成を自動化する
jhashimoto
0
160
iAEONの段階的リアーキテクト戦略 / iAEON's_Gradual_Re-architecture_Strategy
aeonpeople
0
230
SONiCのLinuxベースを活かしたZabbix監視
sonic
0
230
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
230
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
120
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
110
Chainlitで作るお手軽チャットUI
ynt0485
0
280
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
2
680
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
320
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
1.3k
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
320
Testing 201, or: Great Expectations
jmmastey
46
8.2k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
730
Embracing the Ebb and Flow
colly
88
5.1k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
600
Into the Great Unknown - MozCon
thekraken
41
2.6k
Accessibility Awareness
sabderemane
1
140
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
WCS-LA-2024
lcolladotor
0
650
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
AI: The stuff that nobody shows you
jnunemaker
PRO
8
720
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) // 回答準備 ... } ご清聴ありがとうございました