Tự học ngành Công nghệ phần mềm bắt đầu từ đâu

Ngành Công nghệ phần mềm

Tổng quan


Công nghệ phần mềm (CNPM) là một ngành/chuyên ngành trong lĩnh vực Công nghệ Thông tin.  

Để theo ngành CNPM cần học những gì


Sau khi tham khảo chương trình của một số đại học, ví dụ FPT[i] (có thế mạnh về làm các dự án thực tế, các ứng dụng) và KHTN TPHCM (có thế mạnh về nghiên cứu). Tạm rút ra một số thông tin.

Để theo ngành  CNPM cần học những nội dung sau:

– Các kiến thức cơ bản của lĩnh vực CNTT: gồm các môn học thuộc Kiến thức giáo dục đại cương và Kiến thức cơ sở ngành

– Kiến thức chuyên ngành: gồm các môn về quy trình, phương pháp, kỹ thuật, công nghệ trong phân tích, thiết kế, phát triển, kiểm thử, bảo trì phần mềm và quản lý dự án phần mềm cũng như trong lĩnh vực ứng dụng CNTT

– Các hướng chính:

  + Phần mềm nhúng

  + Phần mềm quản lý doanh nghiệp

  + Phần mềm cho hệ thống di động

  + Hệ thống mạng và phân tán

  + Hệ thống tài chính và thương mại điện tử

– Tiếp cận theo xu hướng SMAC (Social – Mạng xã hội, Mobility – Di động, Analytics – Phân tích dữ liệu, Cloud – Điện toán đám mây)

Bảng dưới đây là thứ tự các môn học/hoặc kiến thức cần học

Kiến thức giáo dục đại cương


– Toán (Rời rạc, Xác suất thống kê,…)


– Nhập môn lập trình

– Kỹ thuật lập trình

– Phương pháp lập trình hướng đối tượng

– Kỹ năng mềm

Kiến thức cơ sở ngành

– Cấu trúc dữ liệu và thuật giải

– Cơ sở dữ liệu


– Kiến trúc máy tính và hợp ngữ

– Mạng máy tính

Kiến thức ngành/chuyên ngành CNPM

– Nhập môn Công nghệ phần mềm



– Phát triển ứng dụng web

– Phát triển game

– Phân tích và quản lý yêu cầu phần mềm

– Phân tích và thiết kế phần mềm

– Kiểm thử/chứng phần mềm

– Phát triển phần mềm cho thiết bị di động

– Mẫu thiết kế hướng đối tượng và ứng dụng

– Thiết kế giao diện

– Kiến trúc phần mềm

– Mô hình hóa phần mềm

– Các chủ đề nâng cao trong công nghệ phần mềm

– Các công nghệ mới trong phát triển phần mềm

– Lập trình hướng đối tượng nâng cao

– Phát triển phần mềm nguồn mở

– Phát triển phần mềm cho hệ thống nhúng

– Đặc tả hình thức

– Công nghệ XML và ứng dụng

– Thanh tra mã nguồn

– Công nghệ Java cho hệ thống phân tán

Tương quan giữa các môn học ứng với vòng đời của một phần mềm




Các công việc sau khi tốt nghiệp




Ví dụ theo khảo sát của Stackoverflow (2018), các nghề/công việc liên quan đến lập trình/phần mềm gồm:

Loại công việc
Số người đang làm
Loại công việc
Số người đang làm
Back-end developer
57.9%
Data or business analyst
8.2%
Full-stack developer
48.2%
Data scientist or machine learning specialist
7.7%
Front-end developer
37.8%
QA or test developer
6.7%
Mobile developer
20.4%
Engineering manager
5.7%
Desktop or enterprise applications developer
17.2%
Embedded applications or devices developer
5.2%
Student
17.1%
Game or graphics developer
5.0%
Database administrator
14.3%
Product manager
4.7%
Designer
13.1%
Educator or academic researcher
4.0%
System administrator
11.3%
C-suite executive (CEO, CTO, etc.)
3.8%
DevOps specialist
10.4%
Marketing or sales professional
1.2%

Có thể đọc thêm bài viết này:



[i] Chương trình kỹ thuật phần mềm, https://daihoc.fpt.edu.vn/nganh-hoc/may-tinh-cntt/ky-thuat-phan-mem/, xem 12/2018
[ii] Khung chương trình của Đại học KHTN.TPHCM, xem 12/2018
-------
Cập nhật 9/12/2018