Termini come "sviluppatore di sistemi" e "sviluppatore di software" non hanno definizioni rigide e universalmente condivise. Tuttavia, hanno un senso generale.
In generale, uno sviluppatore di sistemi è uno sviluppatore che lavora su software di sistema, cioè sistemi operativi e driver. Lavorano spesso in linguaggi compilati di basso livello come C e C++, e si concentrano sulla creazione di software stabile e affidabile su cui si potrebbe costruire un sistema.
In generale, uno sviluppatore di software è qualcuno che crea software generico. È comunemente applicato alle persone che sviluppano applicazioni desktop, anche se è molto più generale di sviluppatore di sistemi e può essere applicato a una vasta gamma di sviluppatori. È più probabile che lavorino in linguaggi interpretati di più alto livello, e mentre un software stabile e affidabile è ancora un obiettivo, dedicheranno più energie ad aggiungere caratteristiche interessanti e a rendere le cose user-friendly di quanto potrebbe fare uno sviluppatore di sistema.
In fondo, però, stiamo tutti scrivendo codice, e i fondamenti dello sviluppo si applicano a tutti i tipi di sviluppatori, dagli sviluppatori di sistema agli sviluppatori web. L'obiettivo rimane fondamentalmente invariato: creare un pezzo di software per risolvere un problema.