Inżynieria oprogramowania jest dziedziną inżynierii, zajmującą się projektowaniem i pisaniem programów dla komputerów lub innych urządzeń elektronicznych. Inżynier oprogramowania, lub programista, pisze oprogramowanie (lub zmienia istniejące oprogramowanie) i kompiluje oprogramowanie używając metod, które je ulepszają. Oprogramowanie lepszej jakości jest łatwiejsze w użyciu. Lepsza dokumentacja pomaga innym ludziom zrozumieć i utrzymać je oraz dodawać nowe funkcje. Zostanie inżynierem oprogramowania wymaga doświadczenia i praktyki w pisaniu kodu. Inżynieria oprogramowania może być bardzo trudną pracą. Może być powtarzana podczas cyklu życia oprogramowania.