Công nghệ phần mềm (tiếng Anh: software engineering) là sự á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.[1] Ngành học kỹ sư phần mềm bao trùm 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 các tác vụ thiết kế, xây dựng, kiểm thử (software testing), và bảo trì phần mềm.[2] 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, công thái học phần mềm (software ergonomics), và kỹ sư hệ thống (systems engineering).[2]
Kĩ nghệ phần mềm có thể được chia thành 10 ngành chuyên sâu, đó là:[3]
Kĩ nghệ phần mềm liên quan đến các ngành khoa học máy tính, khoa học quản lý, và kĩ nghệ hệ thống.[4][5]