Col passar del tempo, le differenze tra progettazione di sistema, ciclo del software (o sviluppo del software) e programmazione sono più evidenti. Già nel mercato del lavoro ci sono differenziazioni tra i programmatori e gli sviluppatori, essendo colui che in pratica implementa il software non è lo stesso che progetta la struttura di una classe o la gerarchia delle classi o dei moduli.
Nel settore delle applicazioni e dei servizi IT, esiste un'altra categoria professionale, distinta da quella dei programmatori e degli sviluppatori (sebbene sia una derivazione di quest'ultima): i "consulenti (applicativi)" (spesso si utilizzano termini inglesi per descrivere questi ruoli). I consulenti sono quelli che configurano il sistema/applicazione per il suo utilizzo in un determinato ambiente di utilizzo (tipicamente per o presso un cliente). Ad esempio, un'azienda che produce o commercializza software ERP utilizza i consulenti applicativi per adattare e implementare (questo significa configurare e customizzare) la soluzione standard presso il cliente. Qualora l'adattamento richieda delle personalizzazioni che necessitano di programmazione (uscendo quindi dall'ambito della configurazione), allora essi ricorrono al reparto specifico.
Col termine inglese source code repository (o source code hosting facilities) si indicano siti Internet in cui è disponibile un'enorme quantità di codice, accessibile pubblicamente a chiunque oppure con restrizioni di licenza e a pagamento, per l'assemblaggio di componenti software "chiavi in mano" o di pagine web. Il codice sorgente è reso disponibile tramite archivi di file oppure nella pagina Internet, e spesso è già testato in ambiente di produzione e funzionante. Una volta inserito, viene legato a progetti di sviluppo open-source o di molteplici versioni. Offrono funzionalità di controllo versione, bug tracking system, gestione dei rilasci, mailing list, e documentazione basata su siti wiki.