Sự Nghiệp Tiêu Biểu Của Một Software Developer

Jun 26, 2019 03:55 AM
600
blog image

Khi công nghệ không ngừng phát triển chóng mặt thì cơ hội trong lĩnh vực phát triển phần mềm (software development) cũng tăng nhanh không kém. Đối với những lập trình viên lão luyện đang muốn phát triển những mối quan hệ cá nhân lẫn kỹ năng mềm, vị trí quản lý đang rộng mở chào đón họ.

Một người vừa giao tiếp giỏi vừa chuyên môn cao có rất nhiều cơ hội và theo thời gian, họ có thể đảm nhiệm nhiều vai trò khác nhau, ví dụ như Senior Developer, Team Lead, Architect, Manager và thậm chí có thể chuyển sang lĩnh vực quản lý (CTO, CEO, etc).

Con đường đến những vị trí cấp cao với lương hậu hĩnh có thể kéo dài từ vài tháng đến nhiều năm tùy vào nhiều yếu tố. Tốc độ tiến triển trong sự nghiệp thay đổi theo trình độ chuyên môn, động lực bên trong, kỹ năng tư duy phản biện và kỹ năng giao tiếp.

Sự nghiệp tiêu biểu của một software developer thường diễn ra như sau:

1. Junior Developer

Đây là vị trí xuất phát dành cho một developer vừa tốt nghiệp đại học với rất ít hay thậm chí không có một kinh nghiệm thực tế nào về lập trình.

Những yêu cầu đặc trưng dành cho một junior developer là:

  • Khả năng thấu hiểu vòng đời dự kiến của ứng dụng.
  • Kiến thức cơ bản về database và application service, ví dụ như queues hay caching.

Có lúc junior developer sẽ thấy quá tầm hiểu biết khi được yêu cầu viết những ứng dụng phức tạp. Có hôm bạn lại tự hỏi bản thân rằng tại sao mình vẫn chưa được thăng cấp dù làm những việc giống hệt nhiều senior developers khác. Điều đó hoàn toàn bình thường! Tuy nhiên, khác biệt chính giữa junior và senior developer nằm ở kinh nghiệm hay một kế hoạch sự nghiệp rõ ràng.

2. Software Developer, Senior Software Developer.

Software developer hay senior software developer là người thông thạo việc tạo ra những ứng dụng hoàn chỉnh. Sự nghiệp của nhiều software developer sẽ gồm nhiều năm làm việc với tư cách một senior developer.

Những yêu cầu thông dụng dành cho một software developer là:

  • Có nhiều năm kinh nghiệm về lập trình chuyên nghiệp.
  • Có khả năng viết code phức tạp.
  • Hiểu sâu về database, application services và vòng đời phát triển ứng dụng.

Những người thích viết code và không thích việc quản lý có thể dành nhiều năm, thậm chí toàn bộ sự nghiệp để làm một senior developer. Dù vậy, vị trí này cũng có thể tiến đến những vị trí quản lý như lead developer hay CTO của một công ty startup.

3. Lead Developer, Technical Architect.

Lead developer hay architect là vị trí dành cho những ai muốn có nhiều trách nhiệm và thử thách hơn nhưng không hứng thú với việc quản lý một team. Họ cũng là những senior developer chuyên gia mà những lập trình viên khác thường tìm tới để tìm phương hướng. Lead developers thường vừa viết code vừa điều phối công việc và ra quyết định. Tuy architect thỉnh thoảng vẫn viết code nhưng họ thường chịu trách nhiệm cho việc thiết kế những hệ thống phức tạp, sau đó việc thực hiện sẽ được tiến hành bởi những developer khác.

Những yêu cầu thường gặp dành cho vị trí lead developer là:

  • Nhiều năm kinh nghiệm chuyên môn về lập trình
  • Sở hữu những kỹ năng chuyên môn mà một senior developer hay có
  • Khả năng khái niệm hóa, lập kế hoạch và cho ra đời những phần mềm để giải quyết các vấn đề phức tạp.

Lead developer thường được xem là vị trí chuyển tiếp đến vai trò lãnh đạo cấp trung, trong khi architect là một vị trí chuyên môn và thường không phải là bước chuyển. Technical architect thường được xem là vị trí cao nhất trong sự nghiệp chuyên môn.

Photo by Kevin Ku on Unsplash

4. Development Team Lead, Software Development Manager.

Trong sự nghiệp của một software developer, tiến đến vị trí quản lý là một bước đi truyền thống và hợp lý.

Có ba trọng tâm và trách nhiệm dành cho quản lý, gồm:

  • Quản lý những dự án tầm cỡ lớn.
  • Quản lý team developer.
  • Thuê hay sa thải developer.

Quản lý cấp trung giám sát tiến độ công việc, hiệu suất công việc và báo cáo với senior leader hay quản lý cấp cao. Chức năng chính của quản lý cấp trung là phối hợp nhu cầu của ứng dụng và quản lý dự án với đội ngũ developer. Vị trí này đòi hỏi kỹ năng làm việc với con người và kỹ năng điều tiết mâu thuẫn. Công việc của developer manager còn bao gồm việc loại bỏ hoặc thêm thành viên mới vào team khi cần. Một nhược điểm lớn của việc trở thành quản lý là bạn có thể phải loại trừ người khác. Điều này có thể là một thử thách tâm lý cho nhiều người, nhưng nếu bạn đã làm chủ được việc này thì đó sẽ trở thành một kỹ năng lãnh đạo hiệu quả.

5. Director, Vice President, Chief Technology Officer.

Khác biệt chính giữa quản lý cấp trung và cấp cao là quản lý cấp cao thường giám sát công việc của những quản lý khác và có thể tham dự vào việc xác lập chiến lược, phương hướng cho công ty.

Một số vị trí quản lý cấp cao thường gặp gồm:

  • Director.
  • Vice President.
  • Chief Technology Officer.

Nhiệm vụ của quản lý cấp cao là đưa ra những quyết định ở tầm quản trị như chiến lược dài hạn, đặt ra mục tiêu và hành động cộng thêm chịu trách nhiệm cho toàn bộ mọi phòng ban. Họ cũng cần thúc đẩy những quản lý dưới quyền thực thi và chịu trách nhiệm cho phòng ban của mình thông qua các mục tiêu cụ thể, có thể đo lường được. Quản lý cấp cao thuê, giám sát và sa thải quản lý cấp trung và chỉ báo cáo với những chuyên viên cấp cao khác, ví dụ như CEO hay ban giám đốc công ty.

Còn nếu bạn không thích quản lý con người?

Công việc quản lý có thể không dành cho tất cả mọi người. Đừng lo lắng nếu bạn không muốn tham dự vào việc quản lý. Bạn vẫn có thể được thưởng công xứng đáng với tư cách một cá nhân và có một sự nghiệp mỹ mãn.

Dù cho mục tiêu của bạn là gì, để theo đuổi thành công dài hạn thì bạn nên tham khảo hai lời khuyên sau:

  1. Luôn chào đón cơ hội học tập và phát triển không ngừng nghỉ, bất kể vai trò của bạn là gì đi chăng nữa.
  2. Hiểu giá trị của mọi vai trò trong công ty bao gồm quản lý, điều hành và nhân viên chuyên môn cấp cao dù bạn muốn theo đuổi một sự nghiệp ra sao.

Đi theo hai nguyên lý cơ bản này và sự nghiệp của bạn sẽ phát triển thành công rực rỡ! GetLinks giúp bạn kết nối với các công việc hấp dẫn nhất, xem ngay.

-

Các công việc liên quan:

Software Engineer - Frontend - Backend - QA / QC

iOS - Android - DevOps - Project Management - Product Manager

- - - - -

Tham khảo và dịch từ bài viết trên Woz-u của Nicole Nelson. Photo by Ian Schneider on Unsplash