L'analista programmatore (software analyst) è la figura professionale specializzata in IT, che si occupa di analizzare i software per produrre specifiche tecniche e progetti, fungendo da mediatore tra i clienti/committenti e gli sviluppatori del software.
Analista deriva dal greco análysis ‘scomposizione’. Programmatore deriva da πρόγραμμα -ματος, der. di προγράϕω, propr. «scrivere prima».
L'analista programmatore raccoglie e interpreta le esigenze dei clienti e degli utenti analizzando i dati raccolti per poi tradurli in un progetto software.
Realizza poi modelli UML e diagrammi e documenti con le caratteristiche e le specifiche tecniche del software coordinando il gruppo di programmatori e software developers.
Partecipa anche alla stesura del codice sorgente, controlla che il software sviluppato risponda alle esigenze di business e definisce la gestione, l'aggiornamento e la manutenzione del software.
Inoltre, fornisce consulenza generale anche per il reengineering di software.
Occorre una laurea in Informatica, Ingegneria Elettronica, Ingegneria Informatica o anche in Ingegneria del Software.
Esistono anche corsi per analista programmatore per apprendere la programmazione nei diversi linguaggi (C#, C++, Java, MySQL, .NET), l'architettura del software e la software analysis&testing.
Un analista programmatore deve anche conoscere i tools C.A.S.E. (Computer Aided Software Engineering) e gli ambienti di sviluppo IDE (Integrated Development Environment).
Molto importante anche l'esperienza sul campo e aggiornarsi costantemente.
L'analista programmatore deve essere abile nella progettazione software e nella programmazione object-oriented (OO) e in component based software engineering (CBSE).
Deve anche possedere competenze in software analysis & testing, nella scrittura di specifiche tecniche e funzionali e conoscere i principali tools di sviluppo.
Completano il profilo capacità di analisi, di lavorare in team, di comunicazione, di orientamento al cliente oltre alla capacità di problem solving e alla flessibilità e resistenza allo stress.
Per diventare analista programmatore occorrono anni di esperienza nello sviluppo software, ad esempio come programmatore o developer junior.
Ci si può poi specializzare in uno linguaggio di programmazione specifico come C, Java, MySQL, Visual Basic, PHP, ASP o come QA/software test analyst, per controllare la qualità del software.
Per chi possiede doti manageriali può lavorare a progetti software come project manager.
Lo stipendio medio è di 35 000 euro all'anno o 17.95 euro all'ora. Le posizioni “entry level” percepiscono uno stipendio di 29.200 euro all'anno, mentre i lavoratori con più esperienza guadagnano fino a 45.000 euro all'anno.
Un lavoro perfetto per chi ama il mondo del software development.
Si tratta di una professione stimolante, molto richiesta sul mercato del lavoro e con ottime prospettive occupazionali e di carriera, con stipendi mediamente alti a seconda del livello ed esperienza.