🏆 Staff+✍️ Khoa📅 19/04/2026☕ 9 phút đọc

Influence & Negotiation — Khi Code Không Đủ Để Thắng

Ở level Senior, bạn thuyết phục bằng code chạy tốt. Ở level Staff, bạn thuyết phục bằng ideas rõ ràng, logic đanh thép, và relationship đủ mạnh để người ta muốn nghe bạn.

"Influence without authority" — cụm từ xuất hiện trong MỌI career ladder của Staff Engineer. Nhưng cụ thể nó trông như thế nào? Bài này chia sẻ những tactics thực tế, không phải lý thuyết leadership chung chung.


1. Influence Without Authority — Cốt lõi của Staff+

1.1 Tại sao bạn không có authority?

Staff Engineer:
  → Không có direct reports
  → Không control budget
  → Không quyết định ai làm gì (đó là EM)
  → Không có organizational power

Nhưng cần:
  → Thuyết phục team khác adopt standard của bạn
  → Drive technical change cross-org
  → Dừng bad technical decisions (diplomatically)
  → Align 5 teams theo 1 direction

Contradiction? Không. Influence ≠ Authority.
  Authority: "Làm cái này vì tôi bảo."
  Influence: "Làm cái này vì nó đúng, và đây là evidence."

1.2 Sources of Influence

1. Technical Credibility
   → Bạn đã ship things that work → people trust your judgment
   → Build credibility = YEARS. Destroy = 1 bad call.

2. Relationships
   → Bạn biết đúng người ở đúng team
   → 1:1 relationships > mass emails
   → "Tôi đã nói chuyện với Hoa ở Platform team, 
      cô ấy cũng thấy approach này hợp lý"

3. Communication Clarity  
   → RFC rõ ràng, data-driven
   → Present complex ideas đơn giản
   → "Tôi có thể tóm tắt trong 30 giây"

4. Track Record of Being Right
   → Không phải lúc nào cũng đúng, nhưng often enough
   → Quan trọng: PUBLICLY acknowledge khi bạn sai
   → "Tôi đã predict cái này sai lần trước, 
      nhưng lần này evidence khác vì..."

5. Generosity
   → Help người khác thành công → họ help bạn
   → Amplify team members' work
   → Credit người khác trước bản thân

2. Disagree and Commit — Framework xử lý bất đồng

2.1 Khi nào Disagree

One-way door decisions (khó reverse):
  → Technology stack change
  → Architecture fundamental
  → Data model design
  → API contract (public)
  → Hiring decisions
  
  → PHẢI disagree nếu bạn thấy sai
  → Nếu im lặng → complicit

Two-way door decisions (dễ reverse):
  → Library choice
  → Code structure
  → Testing approach
  → Naming conventions
  
  → Có thể disagree nhưng don't die on this hill
  → Let it go, revisit sau nếu cần

2.2 Cách Disagree Hiệu Quả

❌ Sai:
  "Cách này sai." (không constructive)
  "Đừng dùng X." (không alternative)
  "Tôi đã nói rồi mà không ai nghe." (blame)
  Im lặng trong meeting, rồi complain sau. (passive-aggressive)

✅ Đúng:
  1. Acknowledge: "Tôi hiểu reasoning đằng sau approach này..."
  2. Data: "Dựa trên data/experience, tôi thấy risk ở chỗ..."
  3. Alternative: "Approach khác tôi muốn đề xuất là..."
  4. Trade-offs: "Trade-off giữa 2 approaches..."
  5. Commit signal: "Nếu team quyết định đi hướng A, 
     tôi sẽ fully commit và help deliver."

2.3 Commit sau khi Disagree

Khi decision đã được made (và bạn đã disagree):

DO:
  ✅ Support decision 100% — không "told you so"
  ✅ Help make the decision succeed
  ✅ If it fails: post-mortem, learn, KHÔNG blame
  ✅ Document your concerns trước (email/doc) — in case 
     cần revisit later, có evidence bạn đã flag

DON'T:
  ❌ Sabotage (even passive)
  ❌ "Tôi đã nói rồi" khi nó fail
  ❌ Refuse to help implement
  ❌ Complain to others behind the decision-maker's back

Mature disagreement:
  "Tôi disagree với approach X vì reasons A, B, C.
   Tôi đã documented concerns ở đây [link].
   Nhưng tôi understand decision đã được made, 
   và tôi sẽ fully commit vào delivery."

3. Coalition Building — Pre-alignment

3.1 Tại sao Pre-alignment quan trọng

Mistake phổ biến:
  → Viết RFC 20 trang
  → Present trong meeting 30 người
  → 5 teams push back → proposal dies
  → 2 tháng effort = 0

Cách Staff Engineer làm:
  → 1:1 với key stakeholders TRƯỚC meeting
  → Hiểu concerns của từng team
  → Adjust proposal trước khi present
  → Khi meeting xảy ra: "Tôi đã discuss với team X, Y, Z.
     Họ có concerns A, B mà proposal đã address..."
  → Proposal đã có supporters, giảm surprise pushback

3.2 Stakeholder Mapping

Cho mỗi technical initiative:

  Power (ảnh hưởng decision)
    │
    │  Manage Closely    │   Keep Satisfied
    │  (CTO, VP Eng)     │   (Director không 
    │                    │    directly involved)
    ├────────────────────┤
    │  Keep Informed     │   Monitor
    │  (Team leads,      │   (Other teams)
    │   senior engineers) │
    └────────────────────┴─── Interest
                              (stake in outcome)

Actions:
  High power + High interest: 1:1 meetings, co-create solution
  High power + Low interest: Executive summary, decision points
  Low power + High interest: Regular updates, involve in design
  Low power + Low interest: Newsletter/email updates

4. Executive Communication

4.1 Writing for Busy People

Executives đọc email/doc trong 30 giây.
Nếu 30 giây không đủ để hiểu key message → they move on.

Structure (TL;DR first):

❌ Sai (chronological):
  "Tuần trước team phát hiện performance issue...
   Sau đó chúng tôi investigate...
   Rồi thử 3 approaches...
   Cuối cùng chọn approach B vì..."

✅ Đúng (conclusion first):
  "RECOMMENDATION: Migrate auth service to new framework.
   IMPACT: Reduce auth latency 80%, unblock enterprise feature.
   COST: 3 engineer-weeks, 0 downtime.
   RISK: Low (reversible, gradual rollout).
   
   [Details below for those interested...]"

4.2 The SCQA Framework

S — Situation (context everyone agrees on):
  "Auth service hiện tại handle 10K req/s, p99 = 800ms"

C — Complication (the problem):
  "Enterprise customers cần SSO, nhưng current auth 
   architecture không support SAML. Adding SAML vào 
   current codebase sẽ tăng complexity 3x."

Q — Question (what needs to be decided):
  "Nên refactor auth service hay build new?"

A — Answer (your recommendation):
  "Build new service, strangler fig migration.
   3 engineer-weeks, 0 downtime, risk: low."

5. Difficult Conversations

5.1 Giving Hard Technical Feedback

Scenario: Senior engineer đề xuất architecture mà bạn 
thấy sẽ fail ở scale.

❌ Sai:
  "Cái này không scale được." (vague, dismissive)
  
✅ Đúng:
  "Tôi appreciate effort bạn đã bỏ vào design này.
   Tôi có 1 concern về scalability mà tôi muốn discuss:
   
   Với current design, khi traffic tăng 10x, 
   single database sẽ hit connection limit ở ~5K QPS.
   [Data/evidence]
   
   Có 2 options tôi thấy:
   1. Add read replicas (simpler, works tới ~50K QPS)
   2. Shard by tenant_id (complex, works tới 500K QPS)
   
   Bạn nghĩ traffic projection 12 tháng tới là gì?
   Từ đó mình có thể quyết định."

Principles:
  → Start with what's GOOD about the proposal
  → Be specific: numbers, scenarios, evidence
  → Offer alternatives (don't just criticize)
  → Ask questions (maybe THEY know something you don't)
  → Frame as "we" problem, not "your" problem

5.2 Pushing Back on Unrealistic Timelines

PM: "Chúng ta cần ship feature này trong 2 tuần."
Bạn biết: Realistic estimate = 6 tuần.

❌ Sai: "Không thể." (defensive)
❌ Sai: "OK." (rồi crunch + ship buggy code)

✅ Đúng:
  "Tôi hiểu urgency. Để tôi break down scope:
  
   Full feature: 6 weeks
   ├── Core flow: 2 weeks ← có thể ship MVP
   ├── Edge cases + error handling: 2 weeks
   └── Testing + monitoring: 2 weeks
   
   Options:
   A) Ship MVP trong 2 tuần, iterate sau (risk: edge cases)
   B) Full feature trong 6 tuần (lower risk)
   C) Cut scope: drop feature X, ship trong 3 tuần
   
   Recommendation: Option A nếu business urgency cao.
   Nhưng cần align rằng edge cases sẽ được address 
   trong sprint tiếp theo."

6. Change Management — Leading Technical Change

6.1 Kotter's 8 Steps (adapted for engineers)

1. Create urgency
   "Hệ thống hiện tại cost $X/tháng downtime"
   → Data, không opinions

2. Build coalition
   Pre-align với key engineers và managers
   
3. Create vision
   "Trong 6 tháng, deploy sẽ mất 5 phút thay vì 2 giờ"
   → Concrete, measurable
   
4. Communicate vision
   RFC, tech talk, 1:1s — repeat, repeat, repeat
   
5. Remove obstacles
   → Migration guides, tools, pair programming
   → Đừng chỉ nói "dùng cái mới" — help teams migrate
   
6. Create short-term wins
   → "Team A đã migrate, deploy time giảm 80%"
   → Early adopters = proof of concept
   
7. Build on change
   → Onboard thêm teams, iterate based on feedback
   
8. Anchor in culture
   → New approach becomes "how we do things"
   → Document, train, make it the default path

6.2 Adoption Strategy

Innovators (2-3%): Tech enthusiasts → early RFC reviewers
Early Adopters (13%): Trusted engineers → pilot teams
Early Majority (34%): Wait for proof → need case studies
Late Majority (34%): Skeptical → need org mandate/support  
Laggards (16%): Resist → need migration tools/deadline

Strategy:
  Phase 1: Win innovators + early adopters (proof of value)
  Phase 2: Document success → win early majority
  Phase 3: Make new way the default → late majority follows
  Phase 4: Migration deadline + support → laggards migrate

7. Negotiation Basics cho Engineers

BATNA (Best Alternative To Negotiated Agreement):
  → Trước khi negotiate, biết fallback option của bạn
  → "Nếu team X không agree, plan B là gì?"
  → Stronger BATNA = stronger negotiation position

Interest-based Negotiation:
  → Don't argue positions → explore interests
  
  Position: "Tôi muốn dùng Kafka"
  Interest: "Tôi cần message durability và replay capability"
  
  → Maybe Redis Streams đủ tốt cho interest đó?
  → Find solution that meets BOTH sides' interests

Anchoring:
  → First number/proposal sets the frame
  → "Feature này cần 8 tuần" (anchor high)
  → Negotiate down → land at 5-6 tuần (realistic)
  → Nếu anchor thấp: "3 tuần" → end up at 2 tuần (crunch)

8. Tóm tắt

Influence Toolkit:

  □ Build credibility: Ship things, be right (mostly)
  □ Pre-align: 1:1 trước meetings, không surprise
  □ Disagree constructively: Data + alternatives
  □ Commit after disagree: No "told you so"
  □ Write clearly: TL;DR first, SCQA framework
  □ Give hard feedback: Specific, offer alternatives
  □ Push back on timelines: Options, not "no"
  □ Lead change: Start small, prove value, scale up

Tài liệu tham khảo

  • The Staff Engineer's Path — Tanya Reilly
  • An Elegant Puzzle — Will Larson
  • Influence Without Authority — Cohen & Bradford
  • Crucial Conversations — Patterson et al.
  • Never Split the Difference — Chris Voss
  • StaffEng.com — Stories từ Staff Engineers thực tế

💡 Remember: Kỹ năng quan trọng nhất không phải coding — mà là khả năng make the right thing happen trong tổ chức phức tạp. Code giải quyết technical problems. Influence giải quyết organizational problems. Bạn cần cả hai. 🎯