+5

Con đường phát triển sự nghiệp cho developer

Mình chỉ liệt kê con đường nghề nghiệp của 1 developer, vì bản thân mình cũng là developer. Con đường của 1 tester (QA engineer) cũng có 1 số chức danh tương tự, nhưng lên cao sẽ khác. Các chức vụ sẽ được mình miêu tả theo thứ tự từ thấp lên cao nhé.

Fresher/Junior Developer

Các bạn sinh viên đi thực tập hoặc mới ra trường thường được chức danh này. Số năm kinh nghiệm của Junior Developer thường vào khoảng 6 tháng – 1 năm. Mức lương thì tùy vào khả năng của bạn, thường là từ 300-500$.

Do chưa có kinh nghiệm, fresher/junior thường được các công ty đào tạo lại, do đó khi phỏng vấn fresher các công ty thường chỉ xét khả năng suy nghĩ logic, khả năng lập trình, tiềm năng lập trình của bạn. Cá nhân mình thấy chương trình đào tạo Fresher của FSOFT cũng khá tốt, có dạy nhiều thứ mà bạn sẽ tiếp xúc khi làm việc (mặc dù lương fresher hơi thấp).

Do chưa có kinh nghiệm, mọi người thường không đòi hỏi ở bạn quá cao. Công việc của 1 junior thường là tìm hiểu project hiện tại, code các module nhỏ, đơn giản, fix bugs, có thể có sự trợ giúp/review của senior. Ở giai đoạn junior, các bạn hãy cố gắng tranh thủ học code, học cách thức làm việc, học hỏi kinh nghiệm của các bác senior đi trước.

Developer

Code được 1 thời gian, khoảng 1-3 năm, các bạn sẽ được gọi là Developer (Nhiều bác lên thẳng Team Leader hoặc Senior, tùy công ty). Ở giai đoạn này, bạn đã làm qua một số project, khá rành về 1 số công nghệ. Mức lương của developer vào khoảng 600-900$ tùy vào công ty.

Màn phỏng vấn cho developer thường khó hơn. Người phỏng vấn sẽ hỏi bạn về những project đã làm, các khó khăn bạn đã gặp phải, cách giải quyết? Ngoài ra, buổi phỏng vấn sẽ tập trung vào những công nghệ bạn đã ghi trong CV. Vì developer đã có kinh nghiệm, các bạn sẽ không còn “được” các anh senior kèm cặp, và cũng khó mà lấy danh nghĩa junior để hỏi, nhờ vả hay mắc lỗi nữa.

Ở giai đoạn này, bạn đã được code một số module phức tạp hơn, tham gia meeting, code review, thảo luận với khách hàng v…v. Đây là giai đoạn để bạn dồn nén kiến thức, kinh nghiệm, gây dựng danh tiếng để lên nấc tiếp theo trong bậc thang nghề nghiệp.

Quản lý hay kĩ thuật?

Ở giai đoạn sau, bạn đã có thể xác định con đường cho mình. Nếu muốn tập trung vào code và kĩ thuật, bạn có thể đi theo hướng technical: Senior Developer => Technical Lead => Software Architecture. Nếu muốn làm việc với quy trình và con người, bạn nên đi theo hướng quản lý: Team Lead => Project Manager => Manager. Ở giai đoạn đầu, lằn ranh giữa 2 con đường này khá mờ nhạt, nhưng càng lên cao lại càng trở nên rõ ràng.

Team Leader

Bạn trở thành leader của 1 team nho nhỏ, khoảng 3-6 thành viên. Ngoại trừ code ra, bạn còn phải họp hành với cấp trên, báo cáo với khách hàng, quản lý cấp dưới. Ở giai đoạn này, bạn sẽ dần học thêm 1 số kĩ năng lãnh đạo, kĩ năng quản lý v…v. Ở 1 số cty nhỏ, developer lâu năm, có kinh nghiệm sẽ lên team leader. Bạn vẫn còn khá nhiều thời gian code, code giỏi có thể sẽ làm thành viên trong team tôn trọng hơn. Mức lương cho team lead thường khoảng 1000-1500$ Senior Developer Sau một thời gian làm việc, bạn nắm vững, hiểu sâu và rộng nhiều công nghệ + qui trình. Ở vị trí này, ngoại trừ khả năng code “thần thánh”, bạn còn phải biết đưa ra design và solution. Ngoài ra, bạn còn phải hướng dẫn chỉ bảo các em junior mới vào, cũng như tham gia code review v…v. Đôi khi senior dev cũng kiêm luôn vị trí team leader, do đó bạn cũng cần một chút kĩ năng diễn đạt và lãnh đạo. Mức lương cho Senior Developer cũng khoảng 1000-1500$(hoặc hơn)

Project Manager

Lên đến vị trí này, bạn sẽ có rất ít hoặc hầu như không có thời gian code. Đa phần thời gian của bạn dùng để đọc báo, lướt voz, lướt webtretho …. Đùa đấy, công việc chính của bạn bây giờ là báo cáo, quản lý, lãnh đạo, lâu lâu bạn còn bị bắt đi phỏng vấn 1 số ứng viên để tuyển thành viên cho dự án nữa. Bạn là người quyết định sự thành bại của 1 dự án, do đó nếu dự án thành công bạn sẽ được thưởng 1 khoản bonus kha khá, tùy cty. Mức lương cho PM vào khoảng 1000-2000$ Technical Lead Bạn cần hiểu biết về công nghệ sâu và rộng, vì chính bạn là người lựa chọn công nghệ, qui trình… cho 1 dự án. Những quyết định lớn về thiết kế, cấu trúc code … sẽ do bạn chịu trách nhiệm. Ở giai đoạn này, ngoài việc technical “cứng”, bạn còn phải giỏi thuyết trình, hướng dẫn, giải thích… Vì sao á? Lead đưa ra vấn đề thì phải giải thích hợp lý, thành viên khác nó mới hiểu, nể và làm theo chứ. Mức lương cho vị trí này vào khoảng 1500-2500$.

Manager/Director

Chúc mừng, ở vị trí này bạn đã được gọi là sếp, cấp trên, lãnh đạo, … Lúc này bạn sẽ không có thời gian mà code, suốt ngày họp hành, giao việc, phỏng vấn, trao đổi với các bộ phận, phòng ban, xử lý việc hành chính… Mình không có thông tin về mức lương, thưởng v…v của vị trí này.

Software Architect

Muốn đạt chức danh này, ít nhất bạn phải có 10-20 năm trong ngành. (Nhìn thằng nào mặt mũi trẻ măng mà vỗ ngực tự xưng SA thì đừng tin). Công việc của bạn khá gian khổ: Từ một yêu cầu “mơ hồ” của khách hàng, bạn phải làm việc với BA để đánh giá solution, làm việc với PM để xây dựng 1 team, làm việc với Technical Lead để thiết kế, đưa ra các quyết định quan trọng về kiến trúc.Vị trí này mặc dù không có quyền quản lý, nhưng lại có khá nhiều quyền lực ngầm. Mức lương cũng ngang ngửa hoặc cao hơn cả manager.

Ngoài những con đường trên, các bạn có thể đi theo hướng Sales, Kĩ sư cầu nối (BrSE), Business Analyst. Trong phạm vi bài viết, mình không cover hết được toàn bộ những bước phát triển trong ngành này, mong nhận được sự bổ sung, góp ý của các bạn


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí