Con đường phát triển sự nghiệp của một developer ở Việt Nam (part 3)


Chapter III: Chọn hướng nghề nghiệp trong ngành. 

phần hai, tôi đã bàn về những nấc thang trong sự nghiệp của một developer ở Việt Nam. Trong phần ba này, tôi sẽ bàn về những nhánh công việc trong ngành lập trình và những skills liên quan để hi vọng có thể giúp các sinh viên/junior/fresher có thể chọn một hướng phát triển dành cho mình.

Đầu tiên chúng ta sẽ nói về những nhánh công việc chủ đạo của một developer.

1. Web Developer

Có lẽ đây là nhánh nghề phổ biến nhất hiện nay của các lập trình viên.

Là Web Developer, dĩ nhiên nhiệm vụ chính của bạn sẽ là làm các ứng dụng web. Đồng thời, bạn có thể chọn đi chuyên sâu về front-end, back-end, hoặc làm full-stack để kiêm nhiệm cả hai.

Có rất nhiều công nghệ lập trình web để bạn lựa chọn. PHP, Ruby on Rail, Java, etc. Nếu kể hết tất cả những platform/framework dành cho web developer có lẽ viết cả năm cũng chưa hết. Tôi sẽ chia sẻ hai roadmap dành cho backe-end dev và front-end dev để các bạn xác định được hướng đi cho mình.

2. Mobile Developer 


“Go mobile” đã, đang, và sẽ tiếp tục là một xu thế mạnh mẽ trong ngành lập trình. Cùng với đó, cơ hội nghề nghiệp cho Mobile Developer cũng nở rộ.

Nhiệm vụ chính của họ là phát triển các ứng dụng cho điện thoại, máy tính bảng, hoặc thậm chí cả các ứng dụng có thể dùng cho tivi hoặc wearable devices như smart watch, etc.

3. Game Developer



Trong ngành lập trình, nếu có nhánh nghề nào mộng mơ, “nghệ sĩ” nhất, thì có lẽ là Game Developer. Bằng những hiểu biết về kĩ thuật của mình, Game Developer hiện thực hóa ý tưởng/thiết kế của designer thành một sản phẩm cụ thể, hoàn chỉnh. Và rất nhiều khi, đó là một fantasy world sống động với đầy đủ mọi tốt xấu, vui buồn như chính cuộc đời thực.

Developer muốn theo nghề làm game thì ngoài khả năng lập trình sẽ cần:
  • Kĩ năng phân tích, giải quyết vấn đề một cách logic. Kĩ năng tự học và hợp tác với mọi người.
  • Sự cởi mở, open-mind, chấp nhập sự khác biệt.
  • Và dĩ nhiên, niềm đam mê với game.

4. Automation Developer/Tester

Nhiệm vụ chính của Automation Developer/Tester dĩ nhiên là phát triển… automated tool. Tùy từng dự án và công ty mà họ có thể chuyên sâu về phát triển tool, framework, library hoặc viết script dựa trên một công cụ automated test nào đó.

Developer muốn theo hướng này cần:
  • Hiểu nguyên lý nhận dạng test object, nguyên lý lập trình, cũng như phải thành thạo ít nhất một ngôn ngữ lập trình.
  • Ngoài ra, nên tìm hiểu sâu về software design pattern, và chịu khó liên tục cập nhật kiến thức chuyên môn mới.

5. Embedded Developer


Embeded Engineer ( lập trình nhúng) là một hướng ngành nghề có ít người theo đuổi và cơ bản nghe có vẻ không được “thời thượng” lắm giữa thời buổi mobile bùng nổ .

Nhưng thực ra, đây lại là một nhánh nghề rất cool, đem lại những offer hấp dẫn cho những ai thực sự theo đuổi nó khi mà cầu luôn vượt quá cung, nhất là khi xu hướng IoT sẽ còn phát triển trong thời gian tới.

Hiện nay, hầu hết mọi máy móc đều có SoC và thiết bị cảm biến, tương tác với thế giới thật trong thời gian thật. Embedded Engineer chính là người viết nên những “bộ não” thông minh để điều khiển từ lò vi sóng, máy giặt cho đến robot hút bụi, ô tô, máy bay, etc.

Developer muốn theo hướng Embedded thì cần hiểu cách công nghệ và ngoại cảnh tương tác với phần mềm. Đồng thời, họ phải có tinh thần của một hardware engineer cộng với kĩ năng của software engineer.

6. DevOps Engineer

DevOps Engineer là một vị trí nảy sinh từ thực tế công việc, có thể tạm coi là Sysadmin “kiểu mới”. Nhiệm vụ của họ thường là phát triển các công cụ tự động để automated deploy sản phẩm.

Developer muốn chuyển hướng sang DevOps Engineer thì cần phải hiểu rõ văn hóa/mindset DevOps, đồng thời phải:
  • Có kinh nghiệm với system và IT operations, quản lý DB.
  • Nắm vững các tiến trình (CI/CD) và công cụ automation.
  • Có khả năng sử dụng nhiều công nghệ và mã nguồn mở, coding/scripting.
DevOps cũng là một công việc hứa hẹn nhiều tiềm năng trong tương lai cho các bạn fresher.

Đó là những nhánh ngành nghề chính cho một developer ở Việt Nam hiện giờ. Trong tương lại chắc chắn sẽ còn nhiều nhánh nghề xuất hiện với những bước tiến như vũ bão của IT như hiện nay, ví dụ như hiện tại đã có thêm một nhánh mới xuất hiện là Blockchain developer mọc lên cùng cơn bão Blockchain và cryptocurrencies.

Các nhánh công việc trên là những nhánh chính cho những bạn sinh viên/ junior/ fresher chọn con đường phát triển trỏe thành một developer. Vậy còn những người trót dấn thân vào ngành IT, yêu các thuật toán, yêu công nghệ nhưng không muốn làm developer thì sao ? Liệu Công nghệ thông tin chỉ có làm lập trình viên ?

Well, tất nhiên là không phải như vậy. Còn có một cơ số những công việc liên quan trong chuỗi sản xuất phần mềm mà tôi sẽ liệt kê ra đây.

7. Business Analyst


Business Analyst làm nhiệm vụ “cầu nối”, lấy yêu cầu của khách hàng chuyển về cho team nội bộ thực hiện. Họ cũng là người tư vấn, đề xuất giải pháp cho khách hàng. Và, không phải vấn đề nào cũng được giải quyết bằng giải pháp phần mềm.

Fresher muốn chọn Business Analyst làm con đường sự nghiệp thì cần có kĩ năng giao tiếp tốt, tiếng Anh khá, đầu óc cởi mở, suy nghĩ logic. Nên có rất nhiều fresher ngoài ngành tham gia vào lĩnh vực IT với tư cách là một BA, sử dựng vốn liếng nghiệp vụ mà họ đã có từ trước như quản trị, kế toán, tư vấn, etc. Ngoài ra, bạn cần học:
  • Một số công cụ hỗ trợ cho BA: Office, Visio, Mindmap.
  • Các khóa học nghiệp vụ BA: CCBA, CBAP.

8. Data Analyst


Ở thời điểm Big Data đang càng ngày càng tiến những bước dài như hiện ay thì những chuyên gia phân tích/ nghiên cứu dữ liệu càng ngày càng được săn đón. Data Analyst là người đại diện cho tiếng nói của dữ liệu. Họ thực hiện các phân tích sâu (deep dive analytics) để cung cấp insights cho những quyết định cũng như kế hoạch của ban lãnh đạo doanh nghiệp.

Developer muốn chuyển hướng trở thành Data Analyst cần có:
  • Kĩ năng code cơ bản và sử dụng các công cụ phân tích dữ liệu.
  • Kĩ năng sử dụng các công cụ visualize để chuyển hóa dữ liệu thành graphics.
  • Kĩ năng chuyển hóa dữ liệu thành actionable insight.
  • Am hiểu business, cũng như cấu trúc dữ liệu và hệ thống dữ liệu của công ty.

9. Data Scientist


Data Scientist chia làm 2 nhóm chính: A-Thinker (gần với Data Analyst) và B-Builder (mạnh hơn về software engineering). Nhiệm vụ của nhánh B thường là xây dựng các sản phẩm data/mô hình dữ liệu.

Developer muốn trở thành Data Scientist nhánh B cần kiên nhẫn, giao tiếp tốt, thích tìm hiểu và thử cái mới. Đồng thời, cần nắm vững:
  • Machine learning, Database, Visualization.
  • Kĩ năng lập trình, giải thuật.

10. Bridge System Engineer

Bridge System Engineer (kỹ sư cầu nối – BrSE) là người làm nhiệm vụ kết nối team ở nhà với khách hàng, đảm bảo hai bên hiểu nhau và việc hợp tác được suôn sẻ, thuận lợi. Họ cần tinh nhuệ để vừa độc lập tác chiến, vừa phối hợp tốt với đồng đội.

BrSE là một vị trí tổng hòa những công việc và kinh nghiệm của một Developer, BA, Tester,Project Manager. Developer muốn chọn con đường sự nghiệp Bridge System Engineer thì cần điềm tĩnh, có tính trách nhiệm cao, chịu khó học hỏi, nhẫn nại. Đồng thời, bạn cần code “cứng”, giao tiếp tốt, và ngoại ngữ giỏi.

11. QA/QC

Cả QA và QC đều thuộc lĩnh vực Quản lý chất lượng, nhưng tính chất và mô tả công việc có những điểm khác biệt.

QA (viết tắt của Quality Assurance) là người chịu trách nhiệm đảm bảo chất lượng sản phẩm thông qua việc đưa ra quy trình làm việc giữa các bên liên quan.

Nhiệm vụ chính:
  • Đưa ra quy trình phát triển, tài liệu/biểu mẫu/hướng dẫn.
  • Kiểm tra, giám sát việc thực thi quy trình.
  • Điều chỉnh, thay đổi quy trình cho phù hợp.
QC (viết tắt của chữ Quality Control) hay còn gọi là Tester là người chịu trách nhiệm thực hiện công việc kiểm tra chất lượng phần mềm. Có 2 vị trí QC thông thường là manual QC (không đòi hỏi kỹ năng lập trình) và automation QC (đòi hỏi kỹ năng lập trình).

Nhiệm vụ chính:
  • Tìm hiểu hệ thống, phân tích tài liệu mô tả về hệ thống, thiết kế test cases, thực hiện việc test phần mềm.
  • Phối hợp với nhóm lập trình trong việc fix bug.
Fresher nếu ham thích tìm tòi để phát hiện ra lỗi, đề xuất những cải tiến để có sản phẩm tốt hơn cho người dùng – thì có thể cân nhắc hướng QA/QC.

Đây là mô tả sơ bộ về 11 công việc chính mà những công ty công nghệ tại Việt Nam đang tuyển dụng và hoạt động. Công nghệ càng phát triển thì sẽ càng có thêm nhiều cơ hội mới nhưng những thứ căn bản sẽ vẫn còn được duy trì trong một thời gian dài nữa. Hi vong bài viết này sẽ góp một chút cho các bạn junior/fresher, những người mới đi những bước đầu tiên có thể chọn được công việc phù hợp với sở thích, skills set của mình để có thể có những thành công cho bản thân và bước nhảy cho nền IT của nước nhà.

Comments