Le génie logiciel est un domaine de l'ingénierie, pour la conception et la rédaction de programmes pour ordinateurs ou autres appareils électroniques. Un ingénieur en logiciel, ou programmeur, écrit des logiciels (ou modifie des logiciels existants) et compile des logiciels en utilisant des méthodes qui les améliorent. Un logiciel de meilleure qualité est plus facile à utiliser. Une meilleure documentation aide les autres personnes à comprendre et à maintenir le logiciel et à ajouter de nouvelles fonctionnalités. Pour devenir ingénieur en logiciel, il faut de l'expérience et de la pratique dans l'écriture de code. Le génie logiciel peut être un travail très difficile. Il peut être répété au cours du cycle de vie d'une version de logiciel.