Un Web - Analista Programmatore è un professionista IT che si occupa di analizzare i requisiti e le esigenze di business di chi commissiona il software per produrre specifiche tecniche e progetti che servono poi da input per il processo di software development.
Le sue attività principali includono:
- Incontro con i clienti: L'analista programmatore incontra i clienti che hanno la necessità di sviluppare un nuovo software o che desiderano modificare un programma esistente.
- Raccolta di informazioni: Raccoglie informazioni dettagliate riguardanti la tipologia e le funzionalità del software da sviluppare, gli obiettivi e le attese del cliente, il contesto d'uso e in generale tutto ciò che può essere utile per definire quali caratteristiche dovrà avere il software.
- Analisi dei dati: Analizza i dati raccolti, individua il dominio applicativo e prepara un documento con le specifiche e i requisiti tecnici del sistema software da sviluppare.
- Uso di modelli UML: Nella fase di progettazione solitamente il Software Analyst si serve di modelli UML (Unified Modeling Language) per costruire il sistema e comunicare con il cliente e con gli sviluppatori/programmatori.
- Scrittura del codice di programmazione e della documentazione tecnica collegata.
- Test nel corso e alla fine del progetto, per assicurarsi che non insorgano problematiche di nessun genere.
Le competenze tecniche utili per questo lavoro includono la conoscenza approfondita di hardware e software, strumenti di programmazione e ambienti di sviluppo Web, come per esempio Oracle Designer, ERWin, Java, .Net, strumenti di misurazione delle prestazioni, esperienza su SQL Server, SSRS, ASP e HTML, conoscenza degli strumenti CASE e IDE (Integrated Development Environment), conoscenza delle procedure di testing.
Le soft skill importanti includono l'ascolto attivo, la capacità di lavorare in team, la spiccata propensione al problem solving e a un approccio logico, competenze analitiche, conoscenza nell'ambito del business, capacità di sintesi, propensione al multitasking.