Sớm muộn gì trong sự nghiệp, ai đó sẽ hỏi bạn:
“Vậy… bạn sẽ tiếp tục làm kỹ thuật, hay chuyển sang làm lãnh đạo?”
Và thành thật mà nói? Câu hỏi này có thể khiến bạn cảm thấy như rơi vào bẫy.
Bạn đã dành nhiều năm để học lập trình. Bạn đã xây dựng những sản phẩm thú vị. Có thể bạn đã hướng dẫn một người mới hoặc dẫn dắt một vài tính năng. Và bây giờ bạn phải chọn một hướng đi? Như thể đây là chuyến tàu một chiều không thể quay đầu?
Điều tôi học được là: Bạn không cần phải chọn ngay lập tức. Nhưng đáng để bạn suy nghĩ về điều đó — không phải để tự khóa mình vào một con đường, mà để định hướng phát triển theo cách phù hợp với con người bạn ở thời điểm hiện tại.
Hãy cùng khám phá “ngã ba đường”: kỹ thuật vs lãnh đạo con người — và cả những điểm giao nhau giữa chúng.
Con đường kỹ thuật
Một số dev biết rõ họ muốn gì: Họ yêu thích việc giải quyết các vấn đề phức tạp. Họ hào hứng khi được đắm chìm trong kiến trúc hệ thống, tối ưu hiệu năng, hoặc thiết kế hệ thống. Họ là người được mọi người tìm đến khi không ai có câu trả lời.
Nếu đó là bạn, tuyệt vời!
Bạn có thể phát triển thành staff engineer, principal developer, hoặc kiến trúc sư hệ thống. Không chỉ là viết code, mà là nâng tầm chất lượng toàn bộ hệ thống.
Hành trình này sẽ bao gồm:
- Đào sâu vào chiến lược công nghệ và kiến trúc hệ thống
- Dẫn dắt các buổi review code và thảo luận thiết kế
- Thử nghiệm các công cụ mới
- Hướng dẫn người khác thông qua code thay vì quản lý
- Bảo vệ chất lượng kỹ thuật, ngay cả khi deadline cận kề
Khi nào phù hợp:
- Bạn quan tâm sâu sắc đến khả năng bảo trì, hiệu suất, và thiết kế sạch
- Bạn thấy hứng thú khi giải quyết các vấn đề hóc búa
- Bạn thích bàn về mẫu thiết kế (design patterns) hơn là các vấn đề con người
👉 Đây là lãnh đạo! Nhưng là ảnh hưởng thông qua kỹ thuật chứ không phải quản lý con người.
Con đường quản lý con người
Một số người (như tôi) lại tìm thấy niềm vui khác: Giúp đỡ đồng đội phát triển. Tạo ra sự rõ ràng. Làm cho cả nhóm tốt hơn, không chỉ là dòng code.
Lần đầu tiên tôi thực sự giúp được ai đó không phải bằng cách sửa lỗi, mà là giải thích khái niệm đằng sau vấn đề đó. Và tôi đã “ngộ” ra điều gì đó.
Lãnh đạo con người là tạo điều kiện để người khác làm việc tuyệt vời.
Con đường này sẽ bao gồm:
- Điều phối các nghi thức nhóm và buổi retrospectives
- Hướng dẫn và coaching các bạn junior
- Trao đổi với các bên liên quan và biến sự hỗn loạn thành rõ ràng
- Góp ý, gỡ rối, và tạo điều kiện cho người khác hoàn thành công việc
- Chịu trách nhiệm và đảm bảo mọi việc diễn ra suôn sẻ
Bạn có thể phát triển thành team lead, engineering manager, hoặc thậm chí là CTO trong tương lai.
Khi nào phù hợp:
- Bạn thấy vui khi thấy người khác trưởng thành
- Bạn quan tâm đến điểm giao nhau giữa sản phẩm, quy trình và con người
- Bạn thích kết nối tổng thể hơn là viết từng dòng code
👉 Với tôi, code không biến mất. Nó chỉ trở thành một trong nhiều công cụ, chứ không còn là công cụ duy nhất.
Những hiểu lầm thường gặp & lựa chọn thật sự
Cùng “đập tan” một vài quan niệm sai lầm mà tôi từng nghe (và từng tin):
- “Muốn phát triển thì phải làm quản lý.” → Không hẳn. Các vị trí kỹ thuật cao cấp như Staff Engineer vẫn có cơ hội phát triển, được trả lương tốt, và tạo ảnh hưởng lớn — mà không cần quản lý con người.
- “Chọn một con đường là không thể quay lại.” → Sai rồi. Sự nghiệp là một hành trình dài. Bạn hoàn toàn có thể đổi hướng, kết hợp cả hai, hoặc tiến hóa theo thời gian.
Tôi đã chọn như thế nào (và tại sao tôi vẫn tiếp tục thử nghiệm)
Khi còn là junior, đường đi rất rõ ràng: Trở thành medior, rồi thành senior.
Nhưng sau đó? Tôi không chắc.
Tôi thích mentoring. Tôi thích viết tài liệu. Tôi thích sở hữu một tính năng nào đó. Vậy là tôi bắt đầu thử: dẫn dắt retros, hỗ trợ các bạn junior, trao đổi với stakeholders.
Theo thời gian, tôi nhận ra: Điều khiến tôi thấy có động lực không chỉ là viết code, mà là giúp người khác làm tốt hơn và cải thiện toàn bộ hệ thống.
Đó là lúc tôi nghiêng về con đường lãnh đạo. Không phải vì ai đó thăng chức cho tôi, mà vì tôi bắt đầu hành động như một người lãnh đạo.
👉 Lãnh đạo không phải là một chức danh. Đó là những gì bạn làm.
Một vài câu hỏi tự suy ngẫm
Nếu bạn đang ở “ngã ba đường” (hoặc sắp đến), hãy thử tự hỏi:
- Tôi muốn trở thành kiểu developer như thế nào?
- Khi nào tôi cảm thấy “flow” nhất: khi đắm chìm trong code, hay khi hỗ trợ người khác?
- Hiện tại tôi đang mang lại giá trị lớn nhất ở đâu trong team?
- Tôi thấy có động lực hay bị vắt kiệt khi mentoring và dẫn dắt thảo luận?
- Vai trò hiện tại còn chỗ để tôi phát triển không? Nếu không, tôi có thể đề xuất gì?
👉 Bạn không cần phải có tất cả câu trả lời. Chỉ cần luôn tò mò và cởi mở.
Khi sự phát triển không tự đến với bạn
Phần khó nhất: Không phải công ty nào cũng giúp bạn tìm ra hướng đi.
Đôi khi bạn chỉ đơn giản là… bị mắc kẹt. Lặp đi lặp lại một công việc. Không ai hỏi bạn muốn đi đâu.
Tôi đã từng ở đó.
Đây là những điều giúp tôi khi tôi cảm thấy “đụng trần”:
- Chọn một chủ đề để phát triển. Tập trung vào một lĩnh vực như testing, animation, DX, accessibility… và áp dụng dần dần.
- Đề xuất sáng kiến tạo giá trị. Gắn việc học của bạn với giá trị cho công ty: hiệu suất, trải nghiệm dev, quy trình nhanh hơn...
- Tạo sự hiện diện. Chia sẻ những gì bạn học được. Demo kết quả. Hướng dẫn người mới.
- Dùng side projects làm “phòng thí nghiệm”. Học thêm ngoài giờ nếu cần, nhưng hãy cẩn thận với việc quá tải và kiệt sức.
- Bắt đầu cuộc trò chuyện. Nói chuyện với lead của bạn: “Tôi muốn phát triển trong lĩnh vực [X], liệu ở đây có cơ hội không?”
👉 Và nếu không có gì thay đổi… hãy rời đi. Nghiêm túc đấy. Bạn xứng đáng làm việc ở nơi hỗ trợ sự phát triển của bạn, không chỉ là kết quả bạn tạo ra.
Lời kết
Bạn không cần phải biết hết mọi thứ. Nhưng bạn phải trung thực với chính mình. Con đường kỹ thuật thì sâu. Con đường quản lý thì rộng. Bạn có thể đi cả hai, hoặc chuyển hướng sau này.
Chỉ cần luôn tự hỏi:
- Điều gì khiến tôi có năng lượng?
- Tôi muốn tạo ra ảnh hưởng như thế nào?
Và hãy nhớ: Bước tiếp theo của bạn không cần phải là mãi mãi. Nó chỉ cần đúng với bạn ở hiện tại.