Ingineria software este un domeniu al ingineriei, care se ocupă cu proiectarea și scrierea de programe pentru calculatoare sau alte dispozitive electronice. Un inginer de software, sau programator, scrie software (sau modifică software-ul existent) și compilează software-ul folosind metode care îl îmbunătățesc. Un software de mai bună calitate este mai ușor de utilizat. O documentație mai bună ajută alte persoane să îl înțeleagă, să îl întrețină și să adauge noi caracteristici. Pentru a deveni inginer software este nevoie de experiență și de practică în scrierea de cod. Ingineria software poate fi o muncă foarte dificilă. Ea poate fi repetată în timpul ciclului de viață al versiunii software.