Lộ trình phát triển cho lập trình viên (Career Path for Developers)

Bạn đang là Developer và đang cần xác định định hướng phát triển cho tương lai? Con đường sự nghiệp, lộ trình phát triển cho lập trình viên sẽ ra sao? Hướng đi nào sẽ phù hợp với bạn trên con đường sự nghiệp lập trình? Trong bài viết này HBLAB sẽ chia sẻ tới các bạn lộ trình phát triển mà một lập trình viên có thể đạt được.

Mỗi công ty khác nhau sẽ có những định hướng, lộ trình, tiêu chí đánh giá khác nhau. Vì vậy, lộ trình, định hướng phát triển, tiêu chí đánh giá được chia sẻ trong bài viết dưới đây dựa trên Career Path của công ty HBLAB, hy vọng sẽ có giá trị tham khảo với các lập trình viên từ nhiều góc nhìn khác nhau. 

 

Lộ trình phát triển cho lập trình viên – nhánh chính (phát triển dần theo trình độ tăng dần)

 

Fresher/Junior

  1. Fresher Developer thường là vị trí sinh viên mới ra trường hoặc năm cuối Đại học có thể đi làm full time. 
  2. Fresher đã được học và nắm bắt các kiến thức chuyên môn nhưng chưa có cơ hội được thực hành, thực chiến trong các dự án. Thông thường Fresher có kinh nghiệm làm việc từ 0 – 6 tháng.
  3. Junior Developer là những bạn đã có kinh nghiệm làm việc thực tế từ 6 tháng đến 1.5 năm. Các bạn Junior developer thường có thể tự mình kiểm soát được các tính năng không quá phức tạp, tập trung vào việc code đúng yêu cầu, tuy vậy các bạn vẫn cần sự giám sát, review của những người có kinh nghiệm hơn.
  4. Ở mức Junior, lập trình viên sẽ học hỏi được rất nhiều kiến thức từ những người có kinh nghiệm. Ngoài ra, trong giai đoạn này, developer cũng cần dành nhiều thời gian để rèn luyện các kỹ năng làm việc.

Middle

  1. Middle Developer thường là những bạn đã có 1.5 đến 3 năm kinh nghiệm (số năm kinh nghiệm là một trong số các tiêu chí đánh giá, không phải toàn bộ). Ở mức độ này, các bạn Middle thường sẽ đảm trách được gần hết tất cả các tính năng có trong hệ thống (trừ những hệ thống quá phức tạp, đặc biệt, có tính chất đặc thù riêng).
  2. Thường ở mức Middle ngoài việc code đúng thì bạn cần quan tâm code sao cho dễ đọc, dễ hiểu, đề xuất được các giải pháp tối ưu. Ngoài ra bạn sẽ cần review code cho các vị trí Fresher/Junior, hỗ trợ các bạn hoàn thành công việc.

Khi đạt được đến mức Middle, bạn sẽ có 2 hướng tiếp theo để có thể theo đuổi là theo hướng Kỹ thuật (Technical) hoặc theo hướng quản lý (Manager). Lúc này bạn cần suy nghĩ xem mình thực sự thích cái nào, mình có điểm mạnh ở mảng nào để đưa ra quyết định.

Phát triển theo hướng Technical 

Project Tech Lead (PTL)

Đây là vị trí Tech Lead trong dự án, tập trung xử lý các vấn đề kỹ thuật trong dự án.

Vai trò, nhiệm vụ của Project Tech Lead

Giai đoạn nhận thông tin dự án
  • Phân tích yêu cầu sơ bộ từ phía khách hàng 
  • Phân tích tính khả thi, đề xuất công nghệ nên dùng để thực hiện dự án
  • Kết hợp với bên Pre-Sale (hoặc bộ phận) để đưa ra định lượng công việc cần làm (bản estimate dự án)
Giai đoạn bắt đầu dự án
  • Phân tích yêu cầu chi tiết của dự án
  • Tham gia thiết kế:
    • Activity Diagram, Sequence Diagram
    • Database
    • API Design
    • Logging
    • Cache 
    • Code Architecture
    • ….
  • Thống nhất các quy trình engineering (coding rules, git …)
  • Setup môi trường (kết hợp với INFRA, build local)
Giai đoạn tham gia dự án
  • Tham gia thiết kế
  • Coding
  • Review
  • Solve problem
    • Giải quyết vấn đề
    • Report cho khách hàng
  • Quản lý risk, issue về kỹ thuật
  • Trao đổi thống nhất với khách hàng về phần tech (có thể trao đổi qua comtor, BrSE) (*)
  • Thực hiện và kiểm soát quy trình engineering trong dự án
  • Deploy và release dự án
Giai đoạn kết thúc dự án
  • Report
    • Bài học về kỹ thuật
    • Các vấn đề chưa được xử lý
  • Tổng hợp bài học để làm knowhow cho các dự án khác
Năng lực yêu cầu cho vị trí Project Tech Lead
  • Kinh nghiệm coding 2 năm+, clean code, thiết kế tổ chức tốt
  • Đảm bảo các vấn đề về security
  • Giải quyết vấn đề
  • Thiết kế
  • Có kinh nghiệm là key member của 1 dự án size từ 2 dev trở lên

Senior Developer

Senior Developer thường là những bạn đã có từ 5 năm kinh nghiệm trở lên (số năm kinh nghiệm là một trong số các tiêu chí đánh giá, không phải toàn bộ). Khi bạn là senior developer thì bạn có thể làm được mọi vấn đề kỹ thuật của dự án. Ngoài ra sẽ có rất nhiều công việc bạn cần thực hiện trong suốt quá trình làm dự án như:

  • Tìm hiểu, lựa chọn công nghệ sử dụng trong dự án.
  • Tạo code base, xây dự kiến trúc code.
  • Trao đổi về giải pháp với khách hàng, đưa ra hướng giải pháp tốt nhất.
  • Thiết kế UI/UX, sequence diagram, activity diagram.
  • Review code, đảm bảo chất lượng code.
  • Automation test, unit test.
  • DevOps.
  • Security.
  • Training cho developer mới, nâng cao năng lực developer.
  • Xây dựng các quy trình chung cho developer.
  • Xử lý các vấn đề khó về kỹ thuật trong dự án.

Technical Leader (TL)

Techlead là vị trí chịu trách nhiệm về kỹ thuật hoặc phát triển năng lực cho một bộ phận hoặc một team gồm nhiều dự án. Thường Technical Leader sẽ là một Senior Dev đã làm việc được 1-2 năm và có nhu cầu làm tech lead của bộ phận.

Vai trò, nhiệm vụ
  • Tổ chức đội nhóm TL thuộc bộ phận:
    • Xây dựng cơ chế nắm bắt thông tin liên quan kỹ thuật ở các dự án
    • Hỗ trợ các PTL xử lý vấn đề
    • Hỗ trợ các PTL tổng hợp các vấn đề
    • Quản lý các vấn đề các dự án, chia sẻ cho bộ phận
  • Quản lý các issue và phân công người phụ trách xử lý
  • Tham gia hỗ trợ các bạn developer xử lý các issue khó
  • Tổng hợp các issue cần thiết để làm know-how, có thể tái sử dụng
  • Xây dựng các chương trình đào tạo nâng cao năng lực
  • Kết hợp cùng bộ phận tổ chức các lớp học training
  • Hướng dẫn các bạn PTL
  • Tham gia phỏng vấn
  • Tham gia các Seminar/workshop kỹ thuật với vai trò diễn giả
  • Hỗ trợ các dự án triển khai quy trình engineering cho dự án
  • Báo cáo triển khai quy trình
  • Hỗ trợ các TL bộ phận đi audit các dự án
  • Tổng hợp, báo cáo
  • Tham gia xây dựng thiết kế hệ thống 
  • Trực tiếp xử lý các vấn đề khó
  • Theo sát, hỗ trợ cho dự án đến lúc release
Năng lực yêu cầu
  • Coding 4 năm+, clean code, thiết kế tổ chức tốt
  • Nắm vững Design pattern, Architecture
  • Nắm vững Docker, CI/CD
  • Từng làm project tech lead cho trên 2 dự án 
  • Đảm bảo các vấn đề về security
  • Giải quyết vấn đề
  • Thiết kế

Software Architect (SA)

  • Để lên tới vị trí SA, bạn sẽ cần khoảng 10 đến 20 năm kinh nghiệm trong nghề. Các software architect chủ yếu sẽ theo dõi và đưa giải pháp, thiết kế cho những bài toán lớn ở công ty, thường thiên về cấu trúc, design patterns,…

CTO

  • Đây có thể nói là nấc thang cao nhất trong sự nghiệp lập trình của bạn theo hướng kỹ thuật, ở vị trí CTO (Chief Technical Officer) bạn sẽ là người chịu trách nhiệm cho toàn bộ các vấn đề kỹ thuật của công ty.
  • Quyết định xem công ty sẽ sử dụng những công nghệ, kỹ thuật gì, ngôn ngữ gì, quy trình như thế nào.
  • Liên tục cập nhật các công nghệ mới, các công cụ để tăng hiệu suất làm việc của developer.
  • Đào tạo, training kĩ thuật cho đội ngũ Tech Lead, Developer ở công ty.

Lộ trình phát triển cho Lập trình viên – theo hướng Manager

Team Leader

  • Quản lý được team developer quy mô gồm 2-3 bạn fresher/ junior. Lên kế hoạch, theo sát được công việc của các bạn.
  • Đóng vai trò là key member chính dự án, đầu mối liên lạc giữa developer và các vị trí khác như : PM, QC, Comtor.
  • Ở vị trí team leader, bạn cũng cần nắm được nguyện vọng của các bạn trong team, từ đó có các phương án gắn kết member, teamwork hiệu quả.
  • Team Leader cần học thêm các kỹ năng ngoài code như: viết báo cáo, giao tiếp, quản lý tiến độ, estimate dự án.

Sub Project Manager (Sub PM)

  • Thường khi đã làm Team Leader 1 thời gian, nếu bạn có định hướng trở thành Project Manager (PM) thì bạn sẽ cần làm ở vị trí Sub Project Manager (Sub PM) trước. Ở công ty HBLAB, trước khi làm Sub PM, các bạn phải trải qua một khóa học tên là PM Intro để nắm được lý thuyết và các công việc của PM.
  • Ở vị trí này bạn sẽ được PM training và hướng dẫn thực hiện một số công việc của PM. Dưới sự review, giám sát của PM, bạn sẽ hỗ trợ PM quản lý team dự án quy mô 5-7 người.
  • Đảm nhận các công việc do PM giao phó.

Project Manager

Sau khi đã đảm nhận vị trí Sub PM một thời gian, Trưởng bộ phận sẽ đánh giá và bổ nhiệm vị trí Project Manager – Quản lý dự án nếu đạt yêu cầu. 

Vai trò, nhiệm vụ của vị trí PM, các kỹ năng PM cần có, lộ trình để trở thành PM là gì, HBLAB sẽ giải thích trong một bài viết chi tiết khác. 

Manager/ Director

Vị trí Giám đốc sản xuất cho công ty. 

Phát triển theo hướng Freelancer

  • Bên cạnh công việc ở công ty theo giờ hành chính, nếu bạn có thể sắp xếp được thời gian, bạn có thể chọn hướng làm freelancer. Đây có lẽ cũng là mơ ước của nhiều developer nhưng không phải ai cũng làm được.
  • Bạn cần phải suy nghĩ thật kỹ, có kế hoạch rõ ràng cho việc chuyển sang làm tại nhà, tự liên hệ và nhận công việc từ khách hàng trực tiếp. Với công việc freelancer, bạn cần chấp nhận thu nhập hàng tháng sẽ có thể dao động nhiều qua các tháng.
  • Khi làm freelancer, bạn phải tự mình quản lý công việc, tự mình giao tiếp với khách hàng, tự mình thương lượng, đàm phán, ra quyết định, tựu trung lại, bạn phải tự mình làm mọi công việc từ đầu đến cuối một dự án để có thể bàn giao tới tay khách hàng.

Các hướng phát triển khác – rẽ nhánh

Ngoài các lộ trình phát triển cho lập trình viên theo nhánh chính ở trên thì hoàn toàn bạn có thể chuyển sang các vị trí khác trong ngành IT nếu bạn cảm thấy phù hợp, dưới đây là một số hướng đi khác dành cho anh em.

Bridge System Engineer (BrSE)

  • BrSE (Kỹ sư cầu nối) là người kết nối giữa team phát triển với khách hàng. Tại HBLAB, vị trí BrSE sẽ là đầu mối chính giữa team phát triển ở Việt Nam và khách hàng ở các quốc gia khác nhau: Nhật Bản, Hàn Quốc, Singapore, Úc…
  • Để làm BrSE thì bạn cần phải thành thạo ngoại ngữ, ngoài ra sẽ cần nắm được một số kỹ năng của developer, business analyst, tester và PM.

DevOps

  • DevOps là vị trí sẽ tập trung vào việc automated deploy, tạo, thiết kế và xây dựng server.
  • Developer nào muốn chuyển sang DevOps thì cần học thêm nhiều về System, Server, CI/CD, Script,…

Scrum Master

  • Trong các dự án sử dụng Agile Scrum thì sẽ có một vị trí là Scrum Master, hiểu đơn giản là Scrum Master sẽ giúp các thành viên trong team dự án hiểu và tuân thủ các quy tắc, giá trị của Scrum.
  • Thông thường cách chuyển lên vị trí Scrum Master nhanh nhất là từ PM chuyển sang vì khi bạn đã làm PM rồi thì bạn cũng sẽ phải hiểu được các công việc của Scrum Master.
  • Hiện tại ở công ty HBLAB thì vị trí PM sẽ kiêm nhiệm luôn vị trí Scrum Master, việc này có thể được phân tách tại các công ty khác.

Business Analyst (BA)

  • Vị trí BA sẽ làm nhiệm vụ phân tích yêu cầu và tạo tài liệu yêu cầu cho dự án.
  • BA cũng sẽ là người đề xuất những ý tưởng, giải pháp tốt nhất về mặt business cho khách hàng.
  • Để làm BA thì bạn cần học khóa học về BA cũng như liên tục cập nhật các business để có thể phân tích tốt yêu cầu và làm tài liệu chính xác.

Data Analyst

  • Đây có thể nói là một hướng đi khá hot trong thời gian gần đây, Data Analyst là người đi phân tích tất cả những dữ liệu dự án có, đặc biệt là trên database để cung cấp cho khách hàng, team phát triển những biểu đồ, hình vẽ, số liệu nhằm phát triển business, thống kê. Từ đó đưa ra được những hướng phát triển sản phẩm, kế hoạch trong tương lai.
  • Việc phân tích dữ liệu đúng có thể giúp sản phẩm phát triển theo đúng hướng, giảm thiểu được chi phí không cần thiết và liên tục cải thiện sản phẩm phù hợp với người dùng.

Tổng kết

Trên đây là lộ trình phát triển cho lập trình viên mà HBLAB tổng hợp được theo career path hiện đang áp dụng tại công ty. Hy vọng với những thông tin trên, các bạn developer có thể chọn cho mình một hướng đi phù hợp trên con đường sự nghiệp của mình.

Top bài viết trong tháng

Scroll to Top

FORM ỨNG TUYỂN

Click or drag a file to this area to upload.
File đính kèm định dạng .docs/.pdf/ và nhỏ hơn 5MB