Un programmatore di software è una persona che utilizza linguaggi di programmazione per scrivere codice per software e applicazioni che operano come prodotti autonomi o che interagiscono con altri servizi e server. Sono incaricati di progettare, testare e mantenere sistemi software come parte della fornitura di servizi di tecnologia dell'informazione.
Oltre alla creazione di nuovo software, i programmatori di software testano il software esistente per quanto riguarda l'applicazione prevista, trovano bug ed errori e modificano il software per correggere i problemi o adattarlo a un uso diverso. Quando si lavora con software esistenti, i programmatori di software normalmente cercano di integrarlo con le reti esistenti. In alternativa, hanno il compito di sostituire l'intero sistema con una nuova soluzione software basata sulle specifiche dettate dal dipartimento IT di un'azienda.
I programmatori di software lavorano in tandem con designer e analisti per rivedere i sistemi software che le loro aziende stanno già utilizzando e presentare nuove idee in merito a potenziali miglioramenti. Dopo aver creato nuovi software o applicazioni, testano la funzionalità in un ambiente controllato che riproduce le situazioni reali per garantire che funzioni correttamente al rilascio. Durante questo processo, i programmatori di software creano anche una documentazione centrata sull'utente per quanto riguarda la formazione e l'uso corretto del software. I programmatori di software in genere si concentrano sulla creazione di software destinato principalmente alla vendita, come videogiochi e sistemi operativi, o software progettato per facilitare le operazioni commerciali per la società che lo ha ordinato.