Học Công Nghệ Thông Tin làm nghề gì?

Trong suốt những năm tháng học đại học ở trường, có bao giờ bạn tự hỏi sau khi tốt nghiệp ra trường với bằng Công nghệ thông tin trong tay, bạn sẽ làm nghề gì hay không?

Hôm nay Chi sẽ liệt kê các vị trí công việc liên quan đến ngành Công nghệ thông tin dựa vào Quy Trình Phát Triển Phần Mềm – SDLC (Software Development Life Cycle)

Từ đó, mọi người có thể hình dung cách các công ty phát triển một dự án phần mềm và tuyển dụng những vị trí làm việc phù hợp nhé.

Quy Trình Phát Triển Phần Mềm – SDLC (Nguồn: Internet)

SDLC (Software Development Life Cycle) là gì?

SDLC (Software Development Life Cycle) là một quy trình phát triển phần mềm của bất kì dự án phần mềm nào. Nó được tiến hành khi dự án bắt đầu cho đến khi kết thúc. Trải qua nhiều giai đoạn với những quy tắc và mục tiêu chung: Tạo ra sự kết nối giữa các giai đoạn, các vị trí công việc để có thể hoàn thành dự án đúng tiến độ, đạt hiệu quả, chất lượng tốt.

Giai đoạn 1: Requirement Analysis – (Phân tích nghiệp vụ dự án)

Ở giai đoạn này, thông tin và nghiệp vụ của dự án sẽ được thu thập cho đội phát triển làm việc. Các vị trí ở giai đoạn này thông thường phải giao tiếp trực tiếp với khách hàng để lấy thông tin, đồng thời tổng hợp thông tin dưới dạng tài liệu cụ thể cho các team khác sử dụng.

Các vị trí phù hợp ở giai đoạn này bao gồm:

  • BA – Business Analyst (Người phân tích nghiệp vụ)
  • Brse – Bridge Software Engineer (Kỹ sư cầu nối)
  • PO – Product Owner (Người “sở hữu” sản phẩm)
  • PM – Project Manager (Quản lý dự án)

1. BA (Business Analyst)

  • Mô tả công việc: Nếu bạn là người yêu thích việc phân tích, giao tiếp với khách hàng, viết tài liệu thì đây là vị trí rất phù hợp để ứng tuyển.

BA là một vị trí quan trọng trong một dự án, được ví như một chiếc cầu nối liên lạc giữa khách hàng và đội nhà. Nhiệm vụ của bạn là truyền đạt thông tin khách hàng cung cấp, giao tiếp với khách hàng và chuẩn hoá tài liệu.

  • Kỹ năng:
    • Có kỹ năng phân tích
    • Giao tiếp tốt (thường sẽ yêu cầu ngoại ngữ giao tiếp)
    • Biết chuẩn hoá tài liệu
    • Am hiểu technical là một lợi thế. (Tuỳ dự án có bắt buộc hay không)

2. BrSE – Bridge Software Engineer (Kỹ sư cầu nối)

  • Mô tả công việc: Brse là một kỹ sư cầu nối đa nhiệm và tài năng vì ngoài am hiểu kỹ thuật để đưa ra giải pháp, họ còn có nhiệm vụ làm chiếc “cầu nối” giữa khách hàng và team đội nhà để thấu hiểu khó khăn, đưa dự án đi đúng tiến độ, chất lượng đảm bảo đến tay khách hàng.
  • Kỹ năng:
    • Biết tiếng Nhật, giao tiếp tốt (Các dự án tuyển Brse thường là công ty Nhật)
    • Am hiểu technical để đưa ra giải pháp kỹ thuật cho dự án
    • Biết quản lý để estimate cũng như theo dõi tiến độ, quản lý rủi ro cho dự án
    • Biết chuẩn hoá tài liệu

3. PO – Product Owner

  • Mô tả công việc: PO là người chịu trách nhiệm tất cả các vấn đề liên quan đến sản phẩm xuyên suốt quá trình dự án bắt đầu cho đến khi kết thúc. Họ là người hiểu rõ sản phẩm nhất và là người kết nối mối quan hệ giữa các bên liên quan của dự án.
  • Kỹ năng:
    • Giao tiếp tốt (thường sẽ yêu cầu ngoại ngữ)
    • Có khả năng quản lý
    • Kỹ năng nghiên cứu sản phẩm

4. PM – Project Manager

  • Mô tả công việc: PM là người quản lý dự án, xuyên suốt quá trình từ khi nhận thông tin dự án, điều chỉnh nhân sự, lên kế hoạch, triển khai, theo dõi tiến độ timeline cho đến khi dự án được hoàn thành. Họ là người kết nối tất cả các bên liên quan để công việc được diễn ra thuận lợi nhất.
  • Kỹ năng:
    • Kỹ năng giao tiếp (thường sẽ yêu cầu ngoại ngữ)
    • Kỹ năng quản lý
    • Kỹ năng chuẩn hoá tài liệu
    • Am hiểu technical (Mặc dù con đường trở thành PM có thể không thuần tech base, nhưng PM nên là người có kiến thức technical để có thể hiểu trọn vẹn dự án)

Lộ trình của một PM thường bắt đầu bằng các con đường sau:

Tester Leader -> PM hoặc Technical Leader -> PM hoặc BA Manager -> PM

Giai đoạn 2: System Design – (Thiết kế hệ thống)

Trong SDLC đây là giai đoạn vô cùng quan trọng khi phải ra quyết định cho việc lựa công nghệ sử dụng, cách thiết kế database, cấu hình server,…

Ngoài ra đây cũng là giai đoạn các designer thiết kế UI, UX cho dự án.

Các vị trí phù hợp ở giai đoạn này bao gồm:

  • Enterprise Architech / Solution Architech / Cloud Architech / Technical Architech
  • Designer / Cắt HTML

1. Enterprise Architech / Solution Architech / Cloud Architech / Technical Architech

  • Mô tả công việc: Các vị trí này nhìn chung sẽ quyết định việc dự án sử dụng công nghệ, platform nào. Họ còn có nhiệm vụ tạo ra các chuẩn thiết kế, coding trong team cho các developer follow theo. Am hiểu kỹ thuật hệ thống để có thể định hướng phát triển cho team.

Vị trí này chỉ giành cho những người có kiến thức chuyên sâu, am hiểu công nghệ, biết cách thiết kế để tối ưu và phù hợp với dự án. Nếu thiết kế sai sẽ ảnh hưởng rất nghiều đến nguồn lực cũng như sự thành bại của dự án.

  • Kỹ năng:
    • Hiểu biết sâu rộng về công nghệ, các design pattern…
    • Giao tiếp tốt
    • Có kỹ năng quản lý
    • Có kỹ năng chuẩn hoá tài liệu

2. Designer / cắt HTML

  • Mô tả công việc: Ở giai đoạn thiết kế hệ thống, designer là những người thiết kế giao diện cho dự án. Các file thiết kế của designer thông thường có định dạng từ Adobe XD, Photoshop, Figma.

Hiện nay một bộ phận không nhỏ các bạn học IT đóng vai trò cắt HTML cho dự án. Công việc của bạn là convert các file từ Adobe XD, Photoshop, Figma sang HTML. Có thể gọi công việc này là của một front end developer nhưng ở mức độ không quá phức tạp.

  • Kỹ năng:
    • Biết lập trình chuyển đổi HTML từ thiết kế trên Adobe XD, Photoshop, Figma…
    • Có thể sử dụng thành thạo nhiều loại Bootstrap và Framework CSS, thành thạo Jquery…

Giai đoạn 3: Implementation

Sau khi đã có thiết kế hoàn chỉnh, team phát triển dự án sẽ bắt tay vào làm việc theo yêu cầu nghiệp vụ bằng kinh nghiệm của mình.

Các vị trí phù hợp ở giai đoạn này bao gồm:

  • Front end developer
  • Backend developer
  • Fullstack developer
  • DevOps
  • IT Support / IT Helpdesk

1. Front end developer

  • Mô tả công việc: nếu là một người dùng, bạn sẽ nhìn thấy giao diện của Website, ứng dụng. Bạn có thể xem, click, chia sẻ, kéo thả theo ý muốn. Người đảm nhiệm công việc này chính là Front end developer, những người xử lý tầng giao diện người dùng.
  • Kỹ năng:
    • Am hiểu HTML, CSS, JQuery, Javascript, … các công nghệ, kỹ thuật liên quan
    • Có kiến thức về thiết kế giao diện trên PC, mobile.., có con mắt thẩm mỹ
    • Có kỹ năng giao tiếp

2. Back end developer

  • Mô tả công việc: khi bạn login vào một hệ thống, nếu điền sai thông tin sẽ nhận được thông báo login lỗi. Front end developer là người hiển thị lỗi cho bạn thấy. Còn người xử lý logic ở bên dưới, vì sao lỗi, trả về lỗi gì là Backend developer.

Nói nôm na Backend developer là những người xử lý tầng phía sau người dùng không thể thấy được.

  • Kỹ năng:
    • Hiểu rõ ngôn ngữ lập trình mình đang làm (Java, php, C#, Ruby,…)
    • Hiểu về hệ quản trị cơ sở dữ liệu
    • Có kiến thức về perfomance, tối ưu hệ thống…
    • Kỹ năng giao tiếp

3. Fullstack developer

  • Mô tả công việc: Full stack developer là người có khả năng đảm nhiệm công việc của cả hai vị trí Front end và Back end.
  • Kỹ năng:
    • Am hiểu HTML, CSS, JQuery, Javascript, …
    • Am hiểu ngôn ngữ lập trình đang làm (Java, php, C#, Ruby,…
    • Hiểu về hệ quản trị cơ sở dữ liệu
    • Có kiến thức về perfomance, tối ưu hệ thống…
    • Kỹ năng giao tiếp

4. DevOps

  • Mô tả công việc: DevOps là văn hoá tối ưu quy trình từ 2 bộ phận Developments (team phát triển gồm Developer, Tester,..) và Operations (team vận hành bao gồm System Engineer, Network engineer, Security engineer…). Trước đây 2 team làm việc tách biệt nên quy trình đẩy tiến độ dự án không tối ưu. DevOps ra đời để giải quyết việc này.

Nếu có bất kì vấn đề liên quan đến cấu hình môi trường, deploy code, migrate data, tối ưu quy trình. DevOps sẽ giải quyết thay cho Developer.

  • Kỹ năng:
    • Có kiến thức về các ngôn ngữ lập trình như Python, Shell Script
    • Có kiến thức về các hệ điều hành như Linux, Docker,…
    • Kỹ năng giao tiếp, research,…

5. IT Support / IT Helpdesk

  • Mô tả công việc: các IT Support /IT Helpdesk thường tham gia vào công việc backoffice của công ty. Nhưng ở giai đoạn phát triển phần mềm, họ đóng vai trò hỗ trợ developer, tester cài đặt hệ điều hành, cấu hình cho laptop, PC. Ở những công ty lớn chuẩn hoá quy trình, trước khi muốn cài đặt công cụ phần mềm nào hỗ trợ công việc. Thông thường bạn phải được sự chấp thuận của team này để đảm bảo vấn đề bảo mật.
  • Kỹ năng:
    • Am hiểu về các hệ điều hành, thiết bị phần cứng mà công ty sử dụng
    • Biết cách set up network, phần mềm…
    • Kỹ năng giao tiếp

Giai đoạn 4: Testing

Sau khi các Developer đã hoàn thành giai đoạn coding và build môi trường để sử dụng. Giai đoạn tiếp theo sẽ là Kiểm thử phần mềm.

Các vị trí phù hợp ở giai đoạn này bao gồm:

  • Tester / QC (Manual)
  • Automation Tester

1 .Tester / QC (Manual) – Kiểm thử thủ công

  • Mô tả công việc: Công việc của Tester/QC manual là tìm ra lỗi của phần mềm (gọi là Bug) sau đó report cho team development để họ “fix bug”.  Về cơ bản, Tester manual không yêu cầu phải biết Code. Thực tế đang có rất nhiều bạn học trái ngành vẫn có thể chuyển qua làm Tester nếu thực sự phù hợp.
  • Kỹ năng:
    • Có kỹ năng phân tích, là người chi tiết và tỉ mỉ
    • Hiểu rõ quy trình kiểm thử phần mềm
    • Biết chuẩn hoá tài liệu
    • Biết sử dụng tool test, SQL là một lợi thế để hỗ trợ việc kiểm thử

Xem thêm: Tester là gì? Công việc của một Tester

2. Automation Tester

  • Mô tả công việc: công việc của một automation tester cũng là tìm lỗi phần mềm, nhưng thay vì kiểm thử thủ công, để tránh việc kiểm thử lặp đi lặp lại tốn nhân lực đối với những dự án có tính chất ổn định. Ta sẽ cần Automation tester tối ưu quy trình kiểm thử bằng script testing họ tạo ra. Automation tester bắt buộc phải biết lập trình.
  • Kỹ năng:
    • Nắm vững kiến thức về Manual testing
    • Hiểu về HTML, CSS
    • Biết một trong các ngôn ngữ lập trình như: Java, C#, Javascript, Python, Ruby, Groove,…
    • Build code với framework testing

Giai đoạn 5: Deployment

Sau khi tester đã hoàn tất giai đoạn kiểm thử và đảm bảo chất lượng cho phần mềm. Đây là giai đoạn phần mềm sẵn sàng được sử dụng bởi người dùng. Vì vậy, chúng ta cần một team có thể đảm nhiệm việc cấu hình, deploy dự án lên môi trường thật.

Các vị trí phù hợp ở giai đoạn này bao gồm:

  • DevOps
  • Tech Lead

Giai đoạn 6: Maintainance

Đây là giai đoạn dự án đã chạy ổn định trên môi trường khách hàng. Tuy nhiên nếu dự án có vấn đề xảy ra, hoặc khách hàng muốn thêm / sửa tính năng của hệ thống thì vẫn cần một đội duy trì công việc này.

Các công việc phù hợp ở giai đoạn này bao gồm:

  • Developer
  • Tester
  • Data Analyst

1. DA (Data Analyst)

  • Mô tả công việc: DA là người phân tích dữ liệu có sẵn, chuẩn hoá chúng dưới dạng biểu đồ để khái quát hoá nội dung dữ liệu phản ánh. Từ đó đưa ra những đánh giá, đề xuất, hướng đi liên quan đến business cho doanh nghiệp.
  • Kỹ năng:
    • Phân tích vĩ mô, đam mê dữ liệu
    • Biết sử dụng các công cụ thống kê dữ liệu, chuẩn hoá bằng biểu đồ
    • Có khả năng đưa ra giải pháp cho doanh nghiệp

Các vị trí khác

1. QA / PQA (Quality Assurance / Process Quality Assurance)

  • Mô tả công việc: QA/PQA là khái niệm rất dễ nhầm lẫn với QC/Tester. Tuy nhiên tính chất công việc của 2 vị trí này hoàn toàn khác nhau. Nếu như QC/Tester tham gia trực tiếp vào dự án bằng cách bắt bug để đảm bảo chất lượng phần mềm.

QA/PQA đóng vai trò giám sát quy trình phát triển theo một chuẩn chất lượng cụ thể (ví dụ như ISO, CMM..). Khi thấy bất thường, họ lập tức can thiệp để điều tra, phân tích và “force team” follow theo chuẩn.

Ở các công ty lớn, việc đảm bảo dự án đáp ứng các chuẩn chất lượng quốc tế rất quan trọng. Khi nhìn thấy điều này, khách hàng rất yên tâm đến chất lượng dự án của doanh nghiệp và tăng uy tín cho công ty.

Vì vậy, vị trí QA/PQA là rất cần thiết.

2. Nhân viên triển khai phần mềm

  • Mô tả công việc: Triển khai phần mềm và hướng dẫn cho khách hàng sử dụng, giải quyết vấn đề của người dùng là một công việc khá thú vị. Ngoài việc được đi đây, đi đó. Bạn còn được gặp gỡ và kết nối với rất nhiều khách hàng của mình. Nếu là một người năng động, thích di chuyển và nhiệt tình. Vị trí này là công việc rất phù hợp với bạn.
  • Kỹ năng để trở thành một nhân viên triển khai phần mềm
    • Có kiến thức trong các lĩnh vực liên quan đến Phần mềm quản trị doanh nghiệp, HRM, CRM, MRP, ERP…
    • Giao tiếp tốt vì đại diện cho doanh nghiệp hướng dẫn khách hàng sử dụng phần mềm của công ty
    • Làm việc chủ động, chăm chỉ, cẩn thận, nhanh nhẹn.

Tổng Kết

Trên đây Chi đã liệt kê các vị trí công việc cần có, ứng với mỗi giai đoạn trong quy trình phát triển phần mềm.

Hi vọng bạn sẽ tìm được công việc phù hợp với mình khi Công Nghệ Thông Tin đang trở thành ngành nghề có xu hướng toàn cầu và luôn có rất nhiều cơ hội.

Xem thêm: Hello các bạn Mình là Tôi code đi dạo

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments