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

Các bạn sinh viên còn đang học hoặc mới ra trường sẽ khó hình dung được về những vị trí, chức danh trong ngành lập trình. Mình viết bài này nhằm giải đáp một số thắc mắc các bạn thường hỏi như:

  • Mới đi làm em có chức danh gì, công việc thế nào.
  • Code lâu thì lên được chức gì, lương cao không?
  • Em thích code thôi, không thích làm trưởng nhóm, em nên định hướng thế nào.

Hiểu rõ con đường nghề nghiệp của ngành developer, các bạn sẽ dễ định hình phát triển tương lai của bản thân, cũng như dồn sức vào con đường mình đã chọn.

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é.

e8b9bfe31536b45c9bc7d039ae9b0e50aea0a6c4f26fbef9ab49e33813228492_large

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.

junior

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.

Lý thuyết là vậy nhưng thực tế, thuở làm FSOFT mình ăn lương junior mà làm công việc của developer, việc khó lâu lâu cũng đùn mình luôn, nhờ vậy mình học hỏi cũng được khá nhiều. 

developer

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. Các bạn có thể xem bảng tóm tắt sau:

Hướng quản lý (Management) Hướng kĩ thuật (Technical)tech
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 (Bên itviec có 1 bài viết khá hay về BA ở đây: http://blog.itviec.com/2015/03/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.

30s quảng cáo

book.jpg

Đây là một bài viết được trích dẫn từ cuốn sách “Code dạo kí sự – Lập trình viên đâu phải chỉ biết code” do mình viết. Quyển sách bao gồm những kĩ năng từ mềm đến cứng mà mỗi developer phải có, đảm bảo sẽ rất có ích cho các bạn sinh viên hoặc lập trình viên đã đi làm. Các bạn xem thông tin và đặt mua sách tại đây nhé: Sách Code Dạo Ký Sự.

Bonus: Các bạn có thể tham khảo thêm về mức lương và cơ hội việc làm của các vị trí tại đây nhé.

Advertisements

25 thoughts on “Con đường phát triển sự nghiệp (Career path) cho developer”

  1. mình đang thuộc diện mới ra trường,đang muốn xin việc hi vọng được bạn chỉ bảo góp ý đôi chút.nếu có thể thì giới thiệu cho mình ă công việc nhé.

    Like

  2. anh cho em hỏi em năm nay đang học năm 4 ở bách khoa thấy rất nhiều người đi trước bảo học cntt phải đi ra ngoài làm việc thì sau này đi xin việc mới làm dc việc !! hiện h em vẫn chưa đi làm ở đâu cả em thấy kiến thức mình thua kém các bạn rất nhiều đặc biệt là việc biết thêm nhiều thứ mới !! nhưng thực sự em học các môn ở trên trường em học vẫn rất tốt khả năng tư duy thuật toán giải quyết vấn đề khi làm project ở trường cũng tạm ổn và thấy nhiều đứa bạn đi làm ở bên ngoài nó biết nhiều hơn em nhưng kiến thức cơ bản trong trường nó ko chắc bằng em thậm chí em toàn cân project cho nhóm mình !!! em có quan điểm muốn học chắc những cái cơ bản và tư duy tốt đã ra trường đi làm sau !! thời sinh viên sẽ chỉ học và làm điều mình thích thôi !! nếu em ko đi làm sớm thì có đáng lo ko anh tại em nghe nói yêu cầu của các doanh nghiệp cũng cao nên em sợ nhiều cái em ko biết sau này xin việc khó !!!

    Like

    1. Bạn thích tập trungg học thời còn SV thì cứ học thôi, dù sao mới đi làm thì công ty họ cũng đào tạo lại cả. Đi làm sớm thì ra trường dễ xin việc hơn, lên chức lên lương sớm hơn thôi 😀

      Liked by 1 person

  3. Ngẫm cũng đúng, hướng technical và hướng quản lý ban đầu nó mơ hồ chả biết mình đang ở đâu, nghiêng về bên nào. Tự xách đít, xách laptop đi họp với khách hàng, tự mình giao cho bản thân mấy module khó ( mấy module dễ “bị giành” hết :(( ). Lâu lâu cứ tự nghĩ mình giống thằng lính phường, nhận lệnh cấp trên rồi tiên phong đi đầu trong chiến dịch vậy :))

    Liked by 1 person

  4. mình 28t gần 29t, từng học qua căn bản C++, nhưng học và làm trong nganh du lịch, giờ có hứng thú về code, đi học có muộn ko nhỉ

    Like

  5. ad ơi! em thật sự rất lo, em học cd thôi, nhưng e học cũng khá ổn (tạm), e muốn kiếm 1 chỗ làm thêm bên Android nhưng không biết có chỗ nào nhận không ạ

    Like

  6. Anh ơi anh có thể viết bài về Kỹ sư cầu nối (BrSE) không ạ? hướng này e thấy giờ các công ty Nhật tuyển khá nhiều.

    Like

  7. Chào các bạn, nếu deal lương fresher ở VN tầm 9tr thì có xem là cao với mặt bằng chung không nhỉ? 😀

    Like

    1. Fresher mà tầm đó thì mình nghĩ là cao đấy, bởi thường công ty sẽ phải đào tạo lại bạn. Theo như mình biết thì FSOFT deal fresher là 6tr, sau 2 tháng phỏng vấn để deal lại lương junior.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s