KHÁI NIỆM CÔNG NGHỆ PHẦN MỀM
Công nghệ phần mềm (software engineering) là một ngành công nghệ áp dụng một cách tiếp cận có hệ thống, có kỷ luật, và định lượng được cho việc phát triển, sử dụng và bảo trì phần mềm. Ngành học Công nghệ phần mềm bao gồm những kiến thức, các công cụ, và các phương pháp cho việc định nghĩa yêu cầu phần mềm, và thực hiện thiết kế, xây dựng, kiểm thử, và bảo trì phần mềm. Kỹ sư phần mềm còn sử dụng kiến thức của các lĩnh vực như kỹ thuật máy tính, khoa học máy tính, quản lý, toán học, quản lý dự án, quản lý chất lượng, và kỹ sư hệ thống (systems engineering).
Ngày nay, phần mềm có mặt ở khắp mọi nơi, hầu hết thiết bị điện tử đều có phần mềm trong đó (máy hút bụi, nồi cơm điện, máy giặt, quạt, điều hòa,..). Phần mềm được sử dụng trong các ngành sản xuất, tài chính – ngân hàng, y tế và bệnh viện, trường học và nhà nước. Chính vì các vai trò thiết yếu này, việc giảng dạy và học tập làm phần mềm cũng thay đổi từ chỗ tập trung cho lập trình sang phát triển tổng thể, đó chính là Công nghệ phần mềm.
CHUYÊN NGÀNH CÔNG NGHỆ PHẦN MỀM TẠI KHOA CNTT – ĐH PHƯƠNG ĐÔNG
Trường ĐH Phương Đông trang bị cho sinh viên kiến thức tổng quát về quy trình xây dựng, quản lý và bảo trì hệ thống phần mềm; năng phân tích, thiết kế và quản lý các dự án phần mềm; cung cấp phương pháp luận và công nghệ mới để sinh viên có thể nắm bắt và làm chủ các tiến bộ khoa học. Cung cấp kiến thức cơ bản về tổ chức và quản lý công nghệ phần mềm để có khả năng xây dựng mô hình và áp dụng các nguyên tắc của công nghệ phần mềm vào thực tế.
Những kiến thức/ kỹ năng đạt được:
- Kiến thức về công nghệ phần mềm và kỹ thuật liên quan đến phần mềm.
- Kiến thức/ kỹ năng về các ngôn ngữ lập trình
- Kỹ năng giao tiếp và thuyết trình.
- Kỹ năng làm việc nhóm.
- Kỹ năng ngoại ngữ.
- Kỹ năng tự học tập, nghiên cứu.
XU HƯỚNG NGHỀ NGHIỆP NGÀNH CÔNG NGHỆ PHẦN MỀM
Theo các chuyên gia dự báo, trong những năm tới nhu cầu nguồn lực lớn nhất của ngành CNTT Việt Nam vẫn là ngành phần mềm để nhắm vào các thị trường nước ngoài; bên cạnh đó để giải quyết nhu cầu về phần mềm của thị trường trong nước (các chương trình ứng dụng, game giải trí, multimedia – đa phương tiện như âm nhạc, hình ảnh…).
Trong lĩnh vực công nghệ phần mềm, trên thế giới hiện đang thiếu hụt lớn về nhu cầu nhân lực (thiếu hụt khoảng hơn 1,5 triệu nhân lực). Việt Nam đang có lợi thế bởi nguồn nhân lực trẻ. Tuy nhiên, nguồn nhân lực của Việt Nam trong ngành này còn thiếu về số lượng và yếu về chất lượng. Đây là cơ hội nghề nghiệp cho những sinh viên học ngành công nghệ phần mềm.
Những lĩnh vực sinh viên học ngành công nghệ phần mềm có thể tham gia có phạm vi rộng, bao gồm nhưng không giới hạn:
- Lập trình (Developer): Sử dụng nhiều ngôn ngữ ngôn ngữ lập trình khác nhau như Java, .Net, PHP, Python, JavaScript… để viết các phần mềm ứng dụng cho máy tính, thiết bị di động, thiết bị điều khiển, các trang web và thiết bị công nghệ khác.
- Thiết kế phần mềm hay thiết kế hệ thống (System Architect): Sử dụng những kỹ năng về lập trình, cơ sở dữ liệu, máy chủ và phát triển sản phẩm để thiết kế kiến trúc tổng quát cho phần mềm dựa trên những yêu cầu về kỹ thuật, đáp ứng những yêu cầu kinh doanh, nghiệp vụ của khách hàng.
- Thiết kế trải nghiệm người dùng (UX designer): Thiết kế phần mềm theo trải nghiệm của người dung/khách hàng (user/customer experience), trong đó các thiết kế về giao diện, màn hình, luồng thực hiện các chức năng... dựa trên trải nghiệm của người dùng.
- Phân tích nghiệp vụ (Business Analysis – BA): Làm việc như “cầu nối” giữa doanh nghiệp/ khách hàng với đơn vị phát triển phần mềm để triển khai các giải pháp cho phần mềm; là vị trí am hiểu cả 2 lĩnh vực nghiệp vụ và kỹ thuật, làm cầu nối trung gian giữa một bên là những vị trí phi kỹ thuật như Marketing, Sale, CEO… với những vị trí kỹ thuật (developer/ system architect/ UX designer...).
- Quản lý dự án (Project Manager): Lập kế hoạch và quản lý triển khai các dự án công nghệ phần mềm. Huy động, phân bổ các nguồn lực hợp lý để dự án hoàn thành đạt chất lượng và đúng thời hạn theo kế hoạch.
- Kỹ sư kiểm thử phần mềm (Tester/QA/QC): Tester/QA thực hiện chạy thử nghiệp (testing) phần mềm hay ứng dụng để xác nhận ứng dụng đó đáp ứng các yêu cầu thiết kế, phát triển và vận hành. Đảm bảo sản phẩm do Developer làm ra đúng với yêu cầu của BA. QC kiểm soát về quy trình, đảm bảo quy trình được thực thi đúng, góp phần đảm bảo chất lượng sản phẩm.
- Quản trị hệ thống (System Administrator): Vị trí đảm bảo môi trường phát triển phần mềm cho team. Chịu trách nhiệm thiết lập hệ thống máy chủ, dự phòng, thiết lập môi trường phục vụ cho việc phát triển phần mềm, vận hành hệ thống.
- Quản lý sản phẩm (Product Manager): Vị trí chịu trách nhiệm về sản phẩm phần mềm; quyết định các tính năng cần có cho sản phẩm, làm việc với các developer, UX designer để lên phương án xây dựng phần mềm nhằm đạt mức thành công cao nhất. Vị trí quản lý sản phẩm cũng theo dõi thúc đẩy triển khai sản phẩm tới khách hàng và đánh giá hiệu quả của sản phẩm.
- Cán bộ giảng dạy/nghiên cứu CNTT: Các vị trí giảng dạy CNTT tại các trường Đại học, Cao đẳng hoặc cán bộ nghiên cứu công nghệ thông tin tại các cơ quan, tổ chức, doanh nghiệp.