Career Growth: IC Track & Promotion Framework
Một sự thật không ai nói thẳng: Giỏi về technical là điều kiện cần, không phải điều kiện đủ để được promote. Rất nhiều engineer xuất sắc về code nhưng mãi không lên level vì họ không hiểu game promotion hoạt động ra sao.
Đây không phải về politics hay "nịnh sếp" — đây là về visibility, impact, và communication.
1. IC Track vs Engineering Manager Track — Chọn con đường nào?
1.1 Hiểu sự khác biệt thực sự
Ở nhiều công ty, con đường duy nhất để tăng lương và ảnh hưởng là trở thành manager. Đây là sai lầm thiết kế tổ chức — bởi vì tạo ra áp lực ép những người giỏi về technical vào role management mà họ không muốn hoặc không phù hợp.
Các công ty tech tốt có dual-track career ladder:
Individual Contributor (IC) Track:
Junior Engineer → Engineer → Senior → Staff → Principal → Distinguished
Characteristic:
- Impact qua technical contribution to code, architecture, systems
- Influence mà không có direct report
- Breadth tăng dần (từ team → multi-team → org → industry)
Engineering Manager (EM) Track:
Senior → Engineering Manager → Senior EM → Director → VP → CTO
Characteristic:
- Impact qua team effectiveness và people development
- Responsibility cho headcount, hiring, performance reviews
- Output của bạn = output của team, không phải của cá nhân
1.2 Self Assessment — Bạn phù hợp với cái nào?
Câu hỏi để tự đánh giá:
IC phù hợp nếu:
✅ Bạn thấy thỏa mãn nhất khi giải quyết hard technical problems
✅ Bạn muốn tiếp tục code và architect trong 10 năm nữa
✅ Bạn influence best thông qua ideas và code, không phải organizational power
✅ "Manager tax" — meetings, 1:1s, performance reviews — drain bạn
EM phù hợp nếu:
✅ Bạn thấy thỏa mãn nhất khi thấy người khác thành công
✅ Bạn muốn build team culture và organization
✅ Bạn comfortable với ambiguity và people dynamics
✅ Technical work ngày càng feel limiting so với organizational impact
Và điều quan trọng: Bạn có thể thử EM và quay lại IC. Không phải one-way door.
Nhưng tốt nhất là biết mình muốn gì trước khi bị ép vào role.
2. Promotion Framework — Game Rules bạn cần biết
2.1 Misconception phổ biến nhất
"Tôi làm việc của Senior Engineer rồi, chắc sẽ được promote thành Senior."
Sai. Promotion không phải là recognition cho việc bạn đang làm hiện tại. Promotion là bet của công ty rằng bạn sẽ consistently perform ở level cao hơn.
What promotion actually means:
Công ty đang nói: "Chúng tôi tin rằng bạn sẽ perform ở level N+1
trong ít nhất 12-18 tháng tới một cách consistent"
Không phải: "Bạn đã làm được việc ở level N+1 vài tháng nay"
Hệ quả thực tế:
→ Bạn cần demonstrate N+1 performance trước khi được promote
→ Thường cần 6-12 tháng demonstrate consistent performance
→ "Spike" ngắn không đủ — cần sustained impact
2.2 Banded Level Expectations — Đọc kỹ career ladder
Mỗi công ty có career ladder khác nhau, nhưng pattern chung theo scope:
Engineer (Junior/Mid):
Scope: Task/Feature level
Impact: "Deliver assigned work on time and with quality"
Communication: With immediate team
Autonomy: Given a problem with solution defined → implement it
Senior Engineer:
Scope: Feature/Component level
Impact: "Drive features end-to-end, with minimal guidance"
Communication: With team + adjacent stakeholders
Autonomy: Given a problem → figure out solution + implement
Staff Engineer:
Scope: Team/System level
Impact: "Improve team velocity, unblock multiple engineers, drive technical direction"
Communication: Cross-team, Product, Leadership
Autonomy: Identify problems worth solving → propose → drive execution
Principal Engineer:
Scope: Organization/Company level
Impact: "Company-wide technical initiatives, set engineering culture"
Communication: C-level, broad internal/external
Autonomy: Identify company-level technical opportunities
2.3 The Promotion Packet — Chuẩn bị để tự advocate
Ở nhiều công ty (Google, Meta, Stripe...), promotion process bao gồm viết một "promotion packet" — doc tổng hợp evidence bạn operate ở level cao hơn. Ngay cả khi công ty không yêu cầu formally, bạn vẫn nên tự track điều này.
## Staff Engineer Promotion Evidence — Q3 2024
### Impact Projects (6 months)
1. **Unified Authentication System** (June - August)
- Led design + implementation of new auth system across 4 services
- Reduced auth latency p99 từ 800ms → 120ms
- Unblocked enterprise SSO feature → 2 enterprise customers signed ($200K ARR)
- RFC #23 reviewed và approved by 5 teams
2. **Database Migration Initiative** (September - October)
- Identified PostgreSQL bottleneck: 70% of DB connections wasted on idle pool
- Designed và executed zero-downtime migration to PgBouncer
- Reduced DB connections từ 500 → 80 under same load
- Knowledge transferred: wrote runbook, ran 2 tech talks for team
### Cross-team/Org Influence
- RFC process: Authored 3 RFCs, reviewed 8 RFCs from other teams
- Drove adoption of OpenTelemetry standard across 6 services (4 teams)
- Mentored 2 mid-level engineers → cả 2 promoted to Senior this cycle
### What I Did at Staff Level (not Senior)
[Specific examples của scope expansion]
3. Visibility — Giỏi mà Không Ai Biết Tương Đương Không Giỏi
3.1 Tại sao Visibility quan trọng
Đây là sự thật khó nghe: Bạn không được evaluate bởi những gì bạn biết hoặc làm — bạn được evaluate bởi những gì decision makers biết về bạn.
Technical excellence invisible → promotion slow hoặc missed.
Visibility thấp trông như thế nào:
- "Khoa làm việc tốt nhưng tôi thấy chủ yếu chỉ trong team nhỏ của anh ấy"
- "Tôi không biết đủ về impact của Khoa để sponsor"
- "Mình cần thêm evidence về cross-team impact của Khoa"
Visibility cao trông như thế nào:
- "Khoa dẫn dắt migration project, nhiều teams nói về impact của nó"
- "Tôi đã đọc RFC của Khoa, cách argue rất convincing"
- "Khoa present ở all-hands, solution rất elegant"
3.2 Visibility Tactics — Không phải self-promotion trắng trợn
1. Write và share learnings
→ Tech blog, internal wiki, post-mortem docs
→ "Hôm nay mình tìm ra sự thật thú vị về PostgreSQL vacuum..."
→ Positions bạn là người suy nghĩ sâu, không phải boast
2. Present trong Tech Talks
→ Monthly internal tech talk: 20 phút về gì bạn đã học hoặc build
→ Audience thấy bạn communicate well = signal leadership potential
3. Make your manager's life easier
→ Weekly status email: "Tuần này làm gì, impact gì, cần gì"
→ Khi quarterly review đến, manager có sẵn ammo để sponsor bạn
4. Amplify team's work, not just yours
→ "Team mình vừa ship X, riêng @tuan đã solve Y rất smart"
→ Generosity là leadership signal
→ Khi team thắng, bạn thắng cùng
5. Be in the rooms where decisions happen
→ Đề nghị tham gia tech planning sessions, architecture reviews
→ Đừng đợi được invite — express interest
6. External visibility (optional, powerful)
→ Conference talks, blog posts, open source contributions
→ OSS contributor → "ah, đây là người đó" effect
3.3 Relationship với Manager — Người sponsor quan trọng nhất
Manager là người bạn cần nhất khi promote:
→ Họ là voice của bạn trong calibration meetings
→ Họ biết khi nào window mở cho promotion
→ Họ có thể connect bạn với high-visibility projects
Cách build relationship hiệu quả:
1. Regular 1:1: Không chỉ status update. Chia sẻ ambition, ask for feedback.
"Tôi muốn move toward Staff trong 18 tháng, gap của tôi là gì?"
2. Seek feedback early và often, không phải chỉ khi performance review
"Tôi vừa finish RFC #23, bạn thấy cách tôi handle technical pushback
trong review meeting thế nào? Tôi có thể improve gì?"
3. Make manager aware của impact, đừng assume họ biết
"Tôi muốn mention là migration project mình lead đã unblock
3 features của team platform. Đây là metrics trước/sau."
4. Interview Preparation cho Staff+ Roles
4.1 Staff Engineer Interview khác với Senior như thế nào
Senior Engineer Interview:
- System Design: Design Twitter/YouTube
- Coding: Leetcode medium-hard
- Behavioral: Situation-based, team collaboration
- Key signal: Can you solve hard technical problems?
Staff Engineer Interview:
- System Design: Thường open-ended hơn, focus vào tradeoffs và constraints
→ "Design a system to handle X" → Không có 1 right answer
→ Interviewer expect bạn drive conversation, clarify ambiguity
- Coding: Thường vẫn có nhưng weight thấp hơn
- Technical Leadership:
→ "Tell me about a time you drove a technical initiative across multiple teams"
→ "How did you handle technical disagreement?"
→ "How do you decide what to work on?"
- Architecture Deep Dive: Đào sâu vào 1 system bạn đã build
- Key signal: Can you navigate ambiguity, influence without authority,
make good tradeoffs at scale?
4.2 STAR Method nâng cấp cho Staff interviews
STAR (Situation → Task → Action → Result) là base nhưng for Staff level, cần thêm:
Enhanced STAR cho Staff:
Situation: Context, constraints, stakeholders involved
Task: Scope của problem, tại sao nó mattered (business impact)
Action:
→ Your specific role (không phải "team làm")
→ How you influenced without authority
→ Tradeoffs bạn đã make và tại sao
→ Disagreements bạn đã navigate
Result: Quantified impact
Learning: Nếu có thể làm lại, bạn sẽ làm gì khác?
Example:
"Khi nào bạn đã drive technical change ảnh hưởng đến nhiều teams?"
Situation: Company có 8 microservices không có chuẩn logging → debug incidents mất
trung bình 4h vì phải lookup nhiều places
Task: Không ai giao cho tôi task này. Tôi nhận ra là tech debt đang cost us
avg 20-30h/month của engineers trong incident investigation.
Action:
- Identify pain point, quantify cost, build business case
- Research options: ELK, Loki, Cloud solutions
- Write RFC, present cho 4 team leads, address concerns của DevOps team
(concern chính: operational burden → solved bằng managed Loki)
- Create migration guide và exemplar service
- Run 2 workshops, pair với teams khi họ implement
- Set up dashboard để track adoption
Result:
- 6/8 teams migrated trong 2 tháng
- MTTR giảm từ 4h → 45 phút average
- Saved ~25h/month engineer time
- Became standard cho 2 new services sau đó
Learning:
- Sớm hơn identify DevOps concern → họ become champion thay vì skeptic
- Tracking adoption dashboard critical → biết ai cần thêm help
4.3 System Design tại Staff Level
Interviewer không muốn nghe monologue design system hoàn hảo. Họ muốn thấy cách bạn think:
Framework:
1. Clarify requirements (5 min)
→ "Trước khi design, tôi muốn clarify một số assumptions..."
→ Scale? (users, requests/s, data size)
→ Consistency requirements? (strong vs eventual)
→ Availability requirements? (99.9% vs 99.99%?)
→ Latency requirements? (p99 < X ms?)
→ Integration constraints?
2. High-level architecture (5 min)
→ Sketch big components first
→ "Approach 1: Monolith. Đơn giản, phù hợp khi bắt đầu."
→ "Approach 2: Microservices. Phức tạp hơn nhưng scale tốt hơn."
→ Explain tại sao chọn approach
3. Deep dive theo interviewer's interest (15 min)
→ Database schema? Consistency model? Caching strategy?
→ Tập trung vào tradeoffs, không phải detail implementation
4. Scale và edge cases (5 min)
→ "Nếu traffic tăng 100x, bottleneck ở đâu?"
→ "Failure mode khi DB down?"
Signal các interviewer tìm kiếm:
→ Bạn có clarify trước không?
→ Bạn có nói về tradeoffs không (không chỉ "dùng cái này là ngon")?
→ Bạn có acknowledge không chắc chắn không?
→ Bạn có listen và adjust khi interviewer push back không?
5. Navigating Politics — Sự thật về Organizational Dynamics
5.1 "Politics" không phải là dirty word
Engineering culture thường có bias chống lại "politics" — nhưng organizational dynamics là thực tế, và ignore nó không làm nó biến mất.
Politics, loại xấu:
- Che giấu thông tin để maintain advantage
- Blame người khác khi fail
- Take credit cho work của người khác
- Say yes to leadership, ngược lại sau lưng
Politics, loại tốt (thực ra là organizational intelligence):
- Hiểu ai là decision makers và tại sao họ care về gì
- Build relationships với people bạn cần work với
- Communicate impact của work mình theo cách resonates với audience
- Navigate disagreements một cách constructive
5.2 Khi bị Passed Over cho Promotion
Nếu bị pass over:
1. Đừng assume bạn biết lý do
→ Ask manager thẳng: "Điều gì cụ thể ngăn promotion lần này?"
→ Yêu cầu concrete examples, không phải vague feedback
2. Hiểu calibration process hoạt động thế nào
→ Promotion thường không do 1 người quyết định
→ Calibration meeting: managers của cùng level meet để compare
→ Your manager cần evidence để "defend" bạn
3. Gap analysis thực sự
→ Mô tả impact của bạn trong kỳ vừa rồi
→ So sánh với expectation ở level tiếp theo
→ Identify specific evidence còn thiếu
4. 18-month plan
→ Với manager, xác định: "Để năm sau promote được, tôi cần achieve gì?"
→ Cụ thể: Project gì? Scope gì? Evidence gì?
→ Review quarterly
5. Đừng để quá lâu ở stagnant position
→ Nếu cảm thấy ceiling không break được sau 2 cycle → explore options
→ Đôi khi external market là calibration tốt nhất cho market value của bạn