Stage 7 — Project 6: Legacy Migration jQuery → React
Triết lý cốt lõi: Lead migration thực sự. Tự viết rollback plan, tự run drill. AI Governance. War stories + judgment.
Không còn là "viết code", mà là lead change, manage risk, negotiate, mentor, đưa ra judgment trong tình huống không rõ ràng.Phase: SIMULATE (7.1–7.6) → OWN (7.7–7.8)
Teaching Model: SIMULATE 5% Teaching / 95% Questioning → OWN 0% Teaching / 100% Independent
Deliverable: Demo song song jQuery + React, 1–2 page migrated, rollback drill, war stories, supply chain audit + AI Verify Workflow
Mục tiêu
Lead migration từ legacy sang modern stack. Tự quyết định strategy, tự viết rollback plan, tự run drill. AI Governance cho team. Soft skills: negotiate, mentor, resolve conflict.
- Migration = Risk Management: Strangler Fig, dual-write, feature flags, rollback trigger. Không "big bang rewrite".
- AI Governance: Thiết kế AI Verify Workflow cho team. Systematic checklist, edge case/a11y/security/performance, when NOT to use AI.
- Soft Skills: Negotiate deadline với PM (có data, có trade-off). Mentor Junior (không fix hộ). Code review conflict resolution.
- OWN Phase: Hoàn toàn độc lập. Mentor = interviewer/feedback provider. Không còn được gợi ý.
Tại sao Stage 7 tồn tại
- Bối cảnh thực tế: 90% codebase production là legacy. Staff không chỉ viết code mới, mà lead migration từ jQuery/Angular cũ sang React/Next.js. 1 migration sai có thể downtime production, mất data, mất user trust.
- Hậu quả nếu bỏ qua: Bạn sẽ không bao giờ lead migration, không biết viết rollback plan, không biết run drill, không biết negotiate với PM, không biết mentor Junior.
- Output của Stage 7: Demo song song jQuery + React, 1–2 page migrated thực tế, rollback plan + drill executed, supply chain audit, AI Verify Workflow, 6 war stories STAR format, và khả năng negotiate/mentor/lead incident.
Danh sách module
Migration Strategy
| Module | Nội dung | Mức độ | Phase | Status |
|---|---|---|---|---|
| 7.1.1 Migration Strategy & Planning | Strangler Fig Pattern, Migration assessment, Rollback plan, URL routing | Foundation | SIMULATE | ⬜ |
| 7.1.2 Risk Assessment & Rollback | Risk matrix, Feature flag migration, Rollback trigger, Dual-write pattern | Application | SIMULATE | ⬜ |
Interop
| Module | Nội dung | Mức độ | Phase | Status |
|---|---|---|---|---|
| 7.2.1 Web Components Interop | Custom element wrap React, iframe bridge, jQuery plugin lifecycle, CSS isolation | Application | SIMULATE | ⬜ |
| 7.2.2 CSS & Event Interop | CSS isolation, Global state sharing, jQuery vs React event, Tracking event | Application | SIMULATE | ⬜ |
Implementation
| Module | Nội dung | Mức độ | Phase | Status |
|---|---|---|---|---|
| 7.3 Implement Migration Thực Chiến | Song song jQuery + React, Migrate 1 feature thật, E2E integration, Metrics compare | Application | SIMULATE | ⬜ |
Security & AI
| Module | Nội dung | Mức độ | Phase | Status |
|---|---|---|---|---|
| 7.4 Supply Chain Security | Lockfile integrity, npm provenance, Dependency confusion, CVE framework | Application | SIMULATE | ⬜ |
| 7.5.1 AI Coding Agent — Giao Task | Multi-step task for AI, Prompt engineering, AI limitation, Review từng dòng | Foundation | SIMULATE | ⬜ |
| 7.5.2 AI Verify Workflow | Systematic verify checklist, Edge case/a11y/security/performance, When NOT to use AI | Application | SIMULATE | ⬜ |
Operations
| Module | Nội dung | Mức độ | Phase | Status |
|---|---|---|---|---|
| 7.6.1 Production Ops — RUM & Feature Flags | RUM, Feature flags rollout, Rollback drill, Backup test restore | Application | SIMULATE | ⬜ |
| 7.6.2 Incident Response & Runbook | Incident response flow, Runbook, Communication, Postmortem format | Application | SIMULATE | ⬜ |
Judgment & Soft Skills (OWN)
| Module | Nội dung | Mức độ | Phase | Status |
|---|---|---|---|---|
| 7.7.1 Judgment — Tình Huống Thực Chiến | 6 tình huống thực chiến, War Story format, STAR format, Teach Back | Mastery | OWN | ⬜ |
| 7.7.2 Soft Skills & Team Dynamics | Code review bất đồng, PM deadline negotiate, Mentor junior, Technical debt | Mastery | OWN | ⬜ |
| 7.8 RADIO Practice #4 | Migration Strategy / E-commerce checkout, Rollback strategy, Mock interview | Mastery | OWN | ⬜ |
Stage 7 Staff Checkpoint
Tự đánh giá trước khi sang Stage 8. Nếu trả lời "Không" ở bất kỳ câu nào, quay lại module tương ứng.
| # | Câu hỏi | Module |
|---|---|---|
| 1 | Tôi có viết được rollback plan cho 1 migration không? (có trigger, có drill) | 7.1.2 |
| 2 | Tôi có run được 1 rollback drill thực tế không? | 7.6.1 |
| 3 | Tôi có thiết kế được AI Verify Workflow cho team không? | 7.5.2 |
| 4 | Tôi có lead được 1 incident response không? (communication + postmortem) | 7.6.2 |
| 5 | Tôi có negotiate được deadline với PM không? (có data, có trade-off) | 7.7.2 |
| 6 | Tôi có mentor được 1 Junior qua code review không? (không fix hộ) | 7.7.2 |
Nguyên tắc vàng
- Migration = Risk Management, không phải Heroism: Strangler Fig, dual-write, feature flags. Không "big bang rewrite" vì "tôi giỏi hơn code cũ".
- Rollback plan phải có trigger và drill: Viết plan không đủ. Phải run drill ít nhất 1 lần. Biết trigger khi nào rollback, không phải "xem tình hình".
- AI = Tool có trách nhiệm: Thiết kế Verify Workflow cho team. Review từng dòng AI-generated code. Systematic checklist: edge case, a11y, security, performance.
- Soft Skills = Hard Skills: Negotiate deadline với data. Mentor Junior bằng câu hỏi, không fix hộ. Resolve conflict bằng architecture principle, không bằng cảm xúc.
- OWN = Hoàn toàn độc lập: Mentor = interviewer/feedback provider. Không còn được gợi ý. Tự quyết định, tự chịu trách nhiệm.