Lộ trình sự nghiệp cho kỹ sư frontend: 3 hướng chuyên môn dành cho junior
(steady-study.super.site)Lịch sử của phát triển frontend còn ngắn, nên ở nhiều tổ chức, dù rất muốn có những kỹ sư frontend senior giỏi nhưng lại khó tìm, khiến nhiều CTO ở các startup vừa và nhỏ cùng gặp những trăn trở tương tự.
- Mức độ kỹ thuật được yêu cầu ở frontend không quá cao, nên động lực phát triển năng lực của kỹ sư cũng ít
- Xung quanh không có nhiều hình mẫu là những người xuất thân từ frontend đã xây dựng được sự nghiệp tốt, nên khó thiết kế lộ trình nghề nghiệp
- Do thiếu các kỹ sư frontend senior trong tổ chức, nên các kỹ sư cấp mid phải gánh nhiều yêu cầu về leadership hơn
Bài viết này được viết cho những kỹ sư frontend đang có các băn khoăn như vậy, cũng như cho các team lead và CTO đang trăn trở về cách dẫn dắt họ. Hy vọng đây sẽ là một bản hướng dẫn hữu ích về việc kỹ sư frontend nên chuyên biệt hóa chuyên môn theo hướng nào và xây dựng sự nghiệp lên senior ra sao.
1. Trở thành một kỹ sư xuất sắc
Câu nói “Tôi muốn trở thành một kỹ sư frontend senior xuất sắc” có thể được diễn giải theo 3 khía cạnh.
- Tôi muốn trở thành một kỹ sư xuất sắc (frontend senior).
- Tôi muốn trở thành một kỹ sư frontend xuất sắc (senior).
- Tôi muốn trở thành một senior xuất sắc (kỹ sư frontend).
Theo bài báo What Makes a Great Software Engineer?, một kỹ sư xuất sắc là người viết code tốt, tối đa hóa giá trị hiện tại của công việc, ra quyết định dựa trên dữ liệu, giúp đồng nghiệp đưa ra quyết định hiệu quả, và học hỏi bền bỉ. Nếu nỗ lực phát triển 5 năng lực này, bạn sẽ trở thành một kỹ sư giỏi.
Ngoài ra, do trí tuệ nhân tạo ngày càng mạnh hơn, năng lực giao tiếp và viết lách đã trở nên quan trọng hơn rất nhiều. Nếu muốn dùng AI như một trợ lý để làm việc hiệu quả thay vì bị AI thay thế trong công việc phát triển, thì nên học cách viết tiếng Anh hoặc kỹ thuật phỏng vấn từ góc nhìn Prompt Engineering.
2. Trở thành một kỹ sư frontend xuất sắc
Bên cạnh nền tảng cơ bản ở trên, tôi đã nghĩ ra 3 hướng mà một kỹ sư frontend junior có thể xây dựng chuyên môn. Mỗi hướng có tính bổ trợ cho nhau, nên người đã có đủ chuyên môn ở một hướng sẽ dễ tích lũy chuyên môn ở hướng khác hơn rất nhiều; dĩ nhiên, lộ trình sự nghiệp có thể đi tiếp ở cấp senior trong mỗi hướng cũng có phần chồng lấn.
(“Hướng vận hành” bao gồm cả khía cạnh kiểu DevOps lẫn khía cạnh vận hành quy trình/tổ chức, nhưng không nhất thiết phải mang cả hai năng lực này cùng lúc mới xây dựng được sự nghiệp tốt. Tôi cũng từng cân nhắc có nên tách riêng một hướng “chuyên về quy trình” hay không, nhưng hiện tại năng lực của tôi vẫn chưa đủ để khiến hướng thứ 4 trở nên thực sự có ý nghĩa, nên tạm thời gộp làm một.)
Hướng chuyên sâu về web (Software Engineer)
- Đặc điểm chính
- Hiểu sâu và tận dụng tốt internet, web browser, HTML/CSS/JS
- Biết ưu và nhược điểm của các công cụ cấu thành hệ sinh thái web, và có kinh nghiệm troubleshooting trong nhiều môi trường khác nhau
- Nhạy với các công nghệ mới xuất hiện trên web và chủ động thử áp dụng trực tiếp
- Ưu và nhược điểm
- Đến một mức độ nhất định thì khá dễ tự nâng cao năng lực một mình
- Ở những tổ chức mà độ phức tạp/độ trưởng thành của sản phẩm chưa đủ cao, sẽ ít có cơ hội để phát huy và được công nhận nhờ chuyên môn này
- Cách nâng cao năng lực
- Học qua sách và nội dung trên internet theo các từ khóa trong roadmap, rồi áp dụng vào side project
- Đăng ký newsletter, tham gia open source, thử công nghệ mới, hiểu nguyên lý hoạt động và giới hạn của các công cụ đang dùng, và đôi khi tự phát minh công cụ
- Troubleshooting trong nhiều môi trường khác nhau và thử kéo hiệu năng lên cao hơn
- Những hướng sự nghiệp có thể theo đuổi ở cấp senior sau này
- Giảng viên đào tạo về nâng cao năng lực web
- Software engineer (tại các tổ chức làm ra công cụ cấu thành hệ sinh thái web)
- Software engineer (tại các tổ chức xử lý sản phẩm có độ phức tạp cao)
- Frontend tech lead
Hướng chuyên sâu về sản phẩm (Product Engineer)
- Đặc điểm chính
- Có thể tạo ra kết quả cho sản phẩm giai đoạn đầu bằng cách kết hợp nhiều công cụ dù lượng code viết không nhiều
- Hiểu sâu về thị trường và khách hàng, và biết áp dụng nhiều cách để nâng cao hiểu biết đó vào công việc thực tế
- Thường xuyên giao tiếp để giúp bộ phận marketing và sales hiểu sản phẩm
- Ưu và nhược điểm
- Được các startup giai đoạn đầu đang muốn kiểm chứng sản phẩm trên thị trường chào đón nồng nhiệt
- Nếu chỉ ở mãi trong vùng an toàn, bản thân có thể bị chính tổ chức sản phẩm mà mình gây dựng đẩy ra ngoài
- Cách nâng cao năng lực
- Dùng các sản phẩm xuất sắc trong domain của mình một cách có phân tích, quan sát khách hàng và rèn product sense
- Đừng cố chấp với những tổ hợp công cụ quen thuộc; hãy liên tục làm mới hộp đồ nghề của mình
- Cùng bền bỉ vượt qua giai đoạn mà sản phẩm ban đầu do mình dẫn dắt đạt được kết quả đến mức phải tái cấu trúc và viết lại code, như đang thay bánh xe khi xe vẫn chạy
- Những hướng sự nghiệp có thể theo đuổi ở cấp senior sau này
- Software engineer (ở mọi tổ chức đang tìm PMF)
- Growth engineer, growth consultant
- Frontend tech lead, technical program manager
- PM, PO, CPO
Hướng chuyên sâu về vận hành (Full-Stack Engineer)
- Đặc điểm chính
- Rất quan tâm đến cấu trúc dự án, tích hợp, kiểm thử và triển khai
- Có thể tự làm các API đơn giản và cũng có thể tự thiết lập hạ tầng cần thiết
- Khi tổ chức mở rộng quy mô, có thể nhận ra các khoảng trống và sự kém hiệu quả phát sinh, trực tiếp xắn tay xử lý và cải thiện quy trình
- Ưu và nhược điểm
- Có cơ hội được ghi nhận khi bao quát phạm vi công việc rộng và cộng tác với nhiều người
- Nếu không nỗ lực một cách có ý thức, năng lực kỹ thuật có thể tụt lại và bạn có thể burnout vì chỉ làm việc lặp đi lặp lại
- Cách nâng cao năng lực
- Mở rộng phạm vi bằng cách triển khai backend API cho admin và cấu hình hạ tầng frontend
- Ứng phó trực diện với traffic quy mô lớn và sự cố trong các tổ chức tăng trưởng bùng nổ
- Đào sâu vào quy trình vận hành và guideline của các công ty lớn, hoặc nghe mentoring/talk rồi áp dụng sao cho phù hợp với tổ chức của mình
- Những hướng sự nghiệp có thể theo đuổi ở cấp senior sau này
- Software engineer (ở các tổ chức quy mô lớn có nhiều loại sản phẩm)
- Frontend tech lead, technical program manager
- Engineering manager, agile coach, VP of Engineering
- CTO
3. Trở thành một kỹ sư senior xuất sắc
Vậy một người đã xây dựng chuyên môn như trên thì cần làm gì để trở thành một kỹ sư senior xuất sắc? Dựa trên việc bản thân tôi đã đảm nhận vai trò senior như thế nào, cũng như những kỹ sư senior xuất sắc mà tôi từng gặp là kiểu người ra sao, tôi muốn chỉ ra 3 điểm để trở thành một kỹ sư senior xuất sắc.
- Nỗ lực trung thành với những điều cơ bản: 5 năng lực của một kỹ sư xuất sắc đương nhiên cũng được áp dụng y hệt cho kỹ sư senior.
- Dù không phải lãnh đạo chính thức cũng hành động như một người lãnh đạo: Leadership vẫn có thể được thể hiện đầy đủ ngay cả khi không phải là lãnh đạo chính thức; đôi khi một hành động gương mẫu của đồng nghiệp còn tạo ảnh hưởng lớn hơn vô số lời nói của người lãnh đạo chính thức. Nếu nỗ lực tạo ảnh hưởng tích cực lên sản phẩm, team và toàn bộ tổ chức bất kể vai trò được giao là gì, thì đến lúc nào đó bạn sẽ được công nhận là senior.
- Tạo ra tác động lớn trong mọi tình huống: Ngay cả ở những hành động nhỏ như debug, senior cũng tạo ra ảnh hưởng lớn hơn junior rất nhiều. Nếu không chỉ hài lòng với việc hoàn thành tốt phần việc được giao mà còn xem xét bối cảnh trước sau, giao tiếp với nhiều người để tạo ra tác động lớn, thì bạn sẽ trưởng thành thành một senior có thể được yên tâm giao phó một phần nào đó của sản phẩm, team hoặc công ty.
3 bình luận
Mình là một dev junior vừa tròn 3 năm, và đúng là tùy theo độ khó công việc hay môi trường ở công ty mà có vẻ không dễ để thử dùng nhiều thứ khác nhau.. Mình đang tích lũy những phần đó bằng các side project, nhưng để duy trì đều đặn chăm chỉ thì cũng không hề dễ... haha
Bài viết hay quá. Tình cờ bén duyên với web frontend rồi thoắt cái cũng đã hơn 10 năm, không chỉ bản thân tôi trăn trở về sự nghiệp mà việc định hướng nghề nghiệp cho các bạn junior cũng thực sự rất khó. Có lẽ tôi sẽ có thể tận dụng rất tốt bài này để hướng dẫn theo lộ trình sự nghiệp.
Tôi viết bài này với suy nghĩ dành cho cả các bạn junior lẫn senior, nên rất vui khi biết nó có thể hữu ích. Cảm ơn bạn đã để lại bình luận!