Cross-functional Collaboration — Khi Không Chỉ Nói Chuyện Với Engineers
Staff Engineer không sống trong bubble kỹ thuật. Bạn nói chuyện với Product Managers, Designers, Data Scientists, Legal, Sales — và mỗi người nói một "ngôn ngữ" khác nhau. Đây là phần phiên dịch.
Senior Engineer giỏi giải quyết technical problems. Staff Engineer giỏi giải quyết business problems bằng technical solutions — và điều đó đòi hỏi hiểu ngôn ngữ của business.
1. Working with Product Managers
1.1 PM nói gì, nghĩa là gì
PM nói: "Chúng ta cần feature này ASAP"
Nghĩa là: Có competitive pressure hoặc customer demand
PM nói: "Đơn giản thôi, thêm 1 nút"
Nghĩa là: PM chưa hiểu technical complexity
PM nói: "User cần real-time updates"
Nghĩa có thể: "User cần thấy update trong 5 giây"
(không phải milliseconds)
Cách respond:
Đừng: "Cái này phức tạp lắm" (PM nghe = "engineer resist change")
Nên: "Để tôi break down thành options với trade-offs..."
1.2 Cách Engineers Thêm Value cho Product
1. Ask "Why" trước "How"
PM: "Thêm feature export CSV"
Bạn: "User dùng CSV để làm gì? Có thể API integration
tiện hơn cho power users?"
→ Đôi khi solution tốt hơn ≠ solution PM yêu cầu
2. Đề xuất simpler alternatives
PM: "Build recommendation engine"
Bạn: "MVP có thể là 'most popular items' —
đủ tốt 80% cases, build trong 2 ngày thay vì 2 tháng.
Sau đó iterate dựa trên data."
3. Quantify trade-offs
"Option A: 2 tuần, cover 90% use cases
Option B: 6 tuần, cover 99% use cases
Recommend A trước, nếu 10% bị miss → iterate"
4. Flag risks sớm
"Feature này require schema migration.
Risk: 2-4 giờ migration window.
Cần plan trước, không thể đưa vào sprint cuối."
1.3 Product-Engineering Alignment
Ceremonies hiệu quả:
→ Weekly sync: PM + Tech Lead (30 phút)
Agenda: priorities, blockers, technical insights
→ Sprint planning: PM define WHAT, Engineers define HOW
Bạn (Staff): "Approach này có technical debt implications,
tôi suggest allocate 20% sprint capacity cho refactor"
→ Quarterly planning: Align technical roadmap + product roadmap
Bạn (Staff): Present technical roadmap, explain
WHY technical investments matter cho product goals
2. Working with Designers
2.1 API Design cho Frontend
Collaborate sớm:
❌ Designer design UI → Frontend build →
"API không support layout này" → redesign
✅ Designer + Frontend + Backend cùng discuss sớm:
"UI cần data gì? API shape nào phù hợp?"
→ Design system alignment
→ Avoid N+1 API calls
→ Agree on loading states, error states
2.2 Feasibility Conversations
Designer: "Infinite scroll với real-time search"
Bạn: "Infinite scroll: ✅ cursor-based pagination, straightforward.
Real-time search: phụ thuộc latency target.
< 100ms: Elasticsearch, cần setup cluster ($)
< 500ms: PostgreSQL full-text search, free
Recommend: Start với PostgreSQL.
Nếu search traffic > 1000 QPS → migrate Elasticsearch."
→ Đừng nói "không được". Nói "được, với conditions/trade-offs..."
3. Working with Data Scientists
3.1 ML Model Serving
Data Scientist build model. Bạn (Staff Engineer) cần:
1. Serve model trong production
→ Real-time inference: gRPC/REST endpoint
→ Batch inference: scheduled job
→ Streaming inference: Kafka consumer
2. Feature pipeline
→ DS cần features từ production data
→ Feature store: Feast, Tecton
→ Online (real-time) + Offline (batch) feature serving
3. A/B testing infrastructure
→ Canary deployment cho models
→ Metrics collection cho model performance
→ Rollback nếu model performs worse
4. Monitoring
→ Model drift detection
→ Prediction latency
→ Feature data quality
3.2 Collaboration Model
DS cần từ Engineering:
→ Clean, well-documented data (events, schema)
→ Feature pipeline infrastructure
→ Model serving infrastructure
→ A/B testing framework
Engineering cần từ DS:
→ Model requirements: latency, throughput, size
→ Input/output schema
→ Offline evaluation results
→ Monitoring criteria (when model is "broken")
Common friction:
DS: "Notebook works fine, why can't you just deploy it?"
Eng: "Notebook ≠ production. Cần error handling, scaling,
monitoring, rollback, versioning..."
→ Solution: ML Platform (MLflow, Vertex AI, SageMaker)
Bridge gap giữa notebook và production
4. Working with Legal/Compliance
4.1 Privacy by Design
GDPR technical requirements:
1. Right to Access (data export):
→ API: GET /users/{id}/data-export
→ Return: tất cả PII user, format machine-readable (JSON)
→ Timeline: 30 ngày
2. Right to Deletion ("forget me"):
→ Soft delete → hard delete after grace period
→ Cascade: tìm TẤT CẢ systems chứa user data
├── Primary DB
├── Analytics warehouse
├── Log files
├── Backups (tricky!)
├── Cache (Redis)
└── Third-party integrations (Stripe, SendGrid)
→ Audit trail: log deletion request + completion
3. Consent Management:
→ Track what user consented to
→ Version consent (terms change)
→ Withdraw consent = stop processing
4. Data Minimization:
→ Collect CHỈ data cần thiết
→ Retention policy: tự động delete sau X tháng
→ Anonymize khi có thể (analytics doesn't need PII)
4.2 Cách Communicate với Legal
Legal nói: "We need to be GDPR compliant"
Bạn cần hỏi:
→ "Data nào classified là PII trong hệ thống?"
→ "Retention requirements cho từng loại data?"
→ "Cross-border data transfer rules?"
→ "Timeline cho compliance?"
Bạn present:
→ Data flow diagram: PII đi đâu trong system
→ Gap analysis: đang compliant chỗ nào, chưa chỗ nào
→ Implementation plan: milestones, effort estimate
→ Ongoing: automated compliance checks trong CI/CD
5. Working with Sales/Customer Success
5.1 Technical Escalations
Sales: "Customer ABC says API is slow, they might churn"
Bạn (Staff):
1. Get specifics: Which endpoints? How slow? Since when?
2. Check data: Customer-specific metrics, logs
3. Identify root cause: Tenant isolation? Query pattern?
4. Communicate fix + timeline
5. Follow up with customer (CC Sales)
Template response to Sales:
"Đã investigate issue. Root cause: customer có 500K products,
search query không optimized cho catalog size này.
Short-term fix (2 days): Add index, expect 5x improvement
Long-term fix (2 weeks): Pagination + caching layer
Tôi sẽ update khi fix deploy. CC customer success."
5.2 Pre-sales Technical Support
Khi Sales cần technical input:
→ RFP/RFI responses: "Hệ thống support SSO không?"
→ Security questionnaires: SOC2, encryption specs
→ Architecture diagrams cho enterprise customers
→ Capacity/scalability documentation
Staff Engineer role:
→ KHÔNG nói "yes" cho everything (đó là Sales' job 😅)
→ Honest assessment: "Chưa support, nhưng có thể build
trong Q2 nếu customer commit"
→ Flag: "Custom feature cho 1 customer = dangerous.
Nên generalize solution."
6. Stakeholder Updates — Progress Reports
6.1 Format cho khác audience
Cho Engineering team (Slack/standup):
"PR #234 merged, auth refactor 60% done.
Blocked on: need DB migration approval."
Cho Engineering Manager (weekly 1:1):
"Auth refactor: on track, ETA next Thursday.
Risk: migration window cần coordinate với DevOps.
Need: 30-min sync với DevOps team trước Thursday."
Cho Director/VP (monthly update):
"Auth modernization: 60% complete.
Impact: Will unblock SSO feature for enterprise launch.
Timeline: Complete by April 30.
Risk: Low. Mitigation: rollback plan ready."
Cho CTO/CEO (quarterly):
"Infrastructure investments reduced auth latency 80%,
enabling enterprise features. $200K ARR impact projected."
Rule: Audience càng senior → message càng ngắn + business-oriented.
7. Tóm tắt
Cross-functional Collaboration:
PM: Ask "why" before "how", quantify trade-offs
Design: Collaborate on API shape sớm, feasibility check
Data: Feature pipelines, model serving, A/B testing
Legal: Data flow diagrams, gap analysis, privacy by design
Sales: Technical escalations, honest assessments
All: Tailor communication to audience level
Tài liệu tham khảo
- The Staff Engineer's Path — Tanya Reilly
- Inspired — Marty Cagan (Product + Engineering collaboration)
- Team Topologies — Skelton & Pais
- GDPR for Developers
💡 Remember: Engineering không tồn tại trong vacuum. Code tốt nhất thế giới mà giải quyết sai problem = waste. Hiểu business context = multiply your impact. 🚀