L'analista programmatore sviluppa l'analisi di un problema in termini informatici e partecipa alla stesura del programma. Nello sviluppo di grandi progetti quindi la figura dell'analista programmatore sarà suddivisa in due figure distinte: quella dell'analista e quella del programmatore.
Le due funzioni di analista e programmatore sono sempre più confuse, da cui la denominazione analista-programmatore, sinonimo di sviluppatore software.
La professione di analista programmatore richiede delle conoscenze tecniche specifiche di programmazione a oggetti e di software engineering oltre alla conoscenza della modelizzazione UML (linguaggio di modellazione unificato) e database (base di dati).
L'analista programmatore dovrà quindi conoscere uno o più linguaggi di programmazione quali Java (e l'ambiente J2EE), PHP , C++ o il Framework .NET o altri, oltre a tutti gli strumenti necessari all'analisi del progetto da realizzare.