TECNICO PROGRAMMATORE

Scheda Figura Professionale

Vai alla scheda completa in PDF    Classificazione Professioni Istat CP2011

Settore Economico Professionale (SEP)14 - Servizi di informatica
DenominazioneTecnico Programmatore
Classificazione Istat 2011 e collegamento con il sistema informativo Nazionale delle Professioni3.1.2.1.0 - Tecnici programmatori
DescrizioneLa figura professionale assiste i progettisti e analisti di software traducendo istruzioni e specifiche di controllo, di procedure o di soluzioni di problemi, in diagrammi logici di flusso per la programmazione in linguaggio informatico; sviluppando e scrivendo programmi per memorizzare, ricercare ed elaborare informazioni e dati. Le attività principali relative alla figura professionale sono: realizzare prototipi; eseguire studi di fattibilità; redigere rapporti o documenti tecnici; impostare le specifiche tecniche per la realizzazione dell'applicativo informatico (ovvero realizzare programmi e procedure, progettare interfaccia, ecc.); eseguire test sul software; sviluppare software e altri applicativi; fare formazione/informazione ai clienti; installare sistemi di sicurezza; svolgere attività di manutenzione ordinaria o straordinaria su sistemi o programmi; individuare e soddisfare le specifiche esigenze dei clienti; individuare e correggere errori nel software; verificare la qualità del lavoro svolto.
Situazione Tipo LavoroLa figura trova collocazione - con diversi compiti, responsabilità e possibilità di sviluppo professionale - all’interno del settore ICT (Information and Communication Technology) cioè delle Tecnologie dell’Informazione e della Comunicazione. Il settore ICT è inteso come un insieme di tecnologie (componenti, sistemi e programmi software) che consentono la rappresentazione, l’organizzazione, l’elaborazione e lo scambio delle informazioni. Le informazioni possono essere numeriche, testuali, visive, sonore o combinazioni di esse (contenuti multimediali). Questa definizione tuttavia si limita a considerare i soli ambiti puramente metodologici e tecnologici, dell’elettronica, dell’informatica e delle telecomunicazioni, senza considerare che le applicazioni dell’ICT investono ormai qualsiasi settore della società, con tutte le conseguenze economiche e organizzative sulle competenze, le professionalità, la formazione e la ricerca nell’intero settore. Oggi l’ICT è uno dei temi più importanti, innovativi e quindi strategici per la politica, l’economia, l’imprenditoria, la ricerca e, in generale, per tutto il mondo dei media. Con notevole continuità nel tempo si hanno infatti notizie di nuovi prodotti e servizi, del ruolo che essi possono giocare nello sviluppo economico, delle occasioni che offrono per l’innovazione delle aziende e per l’incremento della loro competitività, nonché delle opportunità di lavoro ad alta qualificazione. Ciò comporta conseguentemente molti benefici potenziali per gli utenti finali e quindi per tutta la società. L’intero settore dell’ICT si sta sviluppando in questi ultimi anni dalle ormai tradizionali e consolidate applicazioni quali l’Automazione industriale e la Robotica, le Telecomunicazioni, l’Informatica gestionale, soprattutto nella Pubblica Amministrazione, la Bioingegneria e la Biomedicina, l’Ambiente e l’Energia, a tanti altri ambiti produttivi, commerciali e sociali dove la capacità di elaborazione delle informazioni può essere miniaturizzata e incorporata in un qualsiasi prodotto che acquista così una sua propria fisionomia digitale.
PrerequisitiAggiornamento del marzo 2021. Il percorso di IVC è attivabile nel rispetto di eventuali integrazioni normative successive alla presente nota.
Percorsi FormativiEsiste una vasta ed articolata offerta formativa nei campi dell’informatica, telematica e dell’ICT, in tutta la filiera della formazione professionale, istruzione tecnica ed universitaria.
ATECO 200762 PRODUZIONE DI SOFTWARE, CONSULENZA INFORMATICA E ATTIVITÀ CONNESSE
Livello EQF5
NUP3.1.1.3.1 - Tecnici programmatori
Conoscenze riferite alla F.P.Best practices delle tecniche di progettazione Ciclo di vita di un processo di testing Collegamento tra gli elementi dell'infrastruttura di sistema e l'impatto del guasto sui processi di business correlati Componenti hardware, software, moduli esistenti e nuovi Componenti, strumenti e architetture hardware DBMS e tecniche di data warehousing Differenti tipi di test (funzionale, integrazione, performance, usabilità, stress etc.) Documenti tecnici richiesti per la progettazione, lo sviluppo e il deploying dei prodotti, delle applicazioni e dei servizi Impatto che l'integrazione di sistemi ha sul sistema/organizzazione esistente Integrated Development Environment (IDE) Interface Definition Languages (IDL) L'applicazione e la disponibilità degli strumenti di diagnostica L'impatto del deployment sull'architettura corrente L'infrastruttura ICT complessiva delle organizzazioni e i componenti chiave Linguaggi di programmazione Linguaggi e tecniche di modellazione Metodi e tecniche per la pacchettizzazione e la distribuzione del software Modelli di consumo di energia del software e/o dell'hardware Problematiche della proprietà intellettuale (IPR) Procedure di reporting previste dall’azienda Procedure per la gestione delle criticità aziendali Progettazione funzionale & tecnica Programmi/moduli software appropriati Rapid Application Development (RAD) Sicurezza nello sviluppo di applicazioni Sistemi operativi e piattaforme software Standard nazionali e internazionali che definiscono i criteri di qualità per il testing Stato dell'arte delle tecnologie Strumenti di controllo della versione per la produzione di documentazione Strumenti per la creazione di presentazioni multimediali Strumenti per la produzione, l'editing e la distribuzione di documenti professionali Tecniche di analisi delle performance di un sistema informativo Tecniche di gestione del problema (funzionamento, performance, compatibilità del sistema informativo) Tecniche di interfaccia tra moduli, sistemi e componenti Tecniche di test d'integrazione Tecniche, infrastrutture e strumenti utilizzati nel processo di testing Tecnologie e standard da utilizzare nel deployment Tecnologie web cloud e mobile Tool di sviluppo (es. ambiente di sviluppo, gestione, accesso e revisione del codice sorgente)
ADA
ADA.14.01.09 - Sviluppo applicazioni
ADA.14.01.10 - Integrazione dei componenti del sistema
ADA.14.01.11 - Testing di sistemi IT
ADA.14.01.12 - Rilascio (deployment) della soluzione
ADA.14.01.13 - Produzione di documentazione tecnica e illustrativa di prodotti/servizi
ADA.14.01.17 - Gestione dei problemi in ambito ICT
Competenze associate alla Figura
Essere in grado di effettuare il testing di sistemi IT (B.3) (ID=2312)
- Creare e gestire un piano di test - Gestire e valutare il processo di test - Progettare i test dei sistemi ICT - Preparare e condurre i test dei sistemi ICT - Sviluppare il reporting e la documentazione dei test e dei relativi risultati
Conoscenze Ciclo di vita di un processo di testing
Differenti tipi di test (funzionale, integrazione, performance, usabilità, stress etc.)
Standard nazionali e internazionali che definiscono i criteri di qualità per il testing
Tecniche, infrastrutture e strumenti utilizzati nel processo di testing
Tecnologie web cloud e mobile
Abilità Applicare procedure di test di sistemi IT
Applicare standard nazionali ed internazionali in materia di salute, sicurezza, usabilità, performance, affidabilità e compatibilità di sistemi IT
Utilizzare metodi per la produzione della documentazione relativa ai processi di certificazione dei sistemi IT
Essere in grado di effettuare l’integrazione dei componenti (B.2) (ID=2311)
- Misurare le performance di sistema prima, durante e dopo l'integrazione di sistema - Documentare e registrare le attività, i problemi e le relative attività di riparazione - Soddisfare con i prodotti esistenti le necessità dei clienti - Verificare che l’integrazione dei sistemi risponda alle specifiche - Proteggere/effettuare il backup dei dati per garantire la loro integrità durante i processi di integrazione del sistema
Conoscenze Best practices delle tecniche di progettazione
Componenti hardware, software, moduli esistenti e nuovi
Impatto che l'integrazione di sistemi ha sul sistema/organizzazione esistente
Tecniche di interfaccia tra moduli, sistemi e componenti
Tecniche di test d'integrazione
Tool di sviluppo (es. ambiente di sviluppo, gestione, accesso e revisione del codice sorgente)
Abilità Applicare procedure definite (es. configuration management e package maintenance)
Applicare tecniche di verifica delle performance del sistema a seguito dell’integrazione dei componenti
Applicare tecniche per installare componenti hardware e software in un sistema esistente
Utilizzare metodi per verificare la compatibilità tra i moduli esistenti e quelli nuovi
Utilizzare modalità di documentazione del processo di integrazione dei componenti
Essere in grado di effettuare la gestione dei problemi in ambito ICT (C.4) (ID=2321)
- Monitorare i problemi durante il ciclo di vita e comunicarlo efficacemente - Identificare potenziali guasti dei componenti critici e mitigare i loro effetti - Condurre gli audit per la gestione del rischio e la sua minimizzazione - Allocare risorse adeguate per la manutenzione bilanciando costo e rischio - Comunicare a tutti i livelli per garantire l'impiego di risorse interne ed esterne per minimizzare le interruzioni
Conoscenze Collegamento tra gli elementi dell'infrastruttura di sistema e l'impatto del guasto sui processi di business correlati
L'applicazione e la disponibilità degli strumenti di diagnostica
L'infrastruttura ICT complessiva delle organizzazioni e i componenti chiave
Procedure di reporting previste dall’azienda
Procedure per la gestione delle criticità aziendali
Abilità Applicare metodi per identificare potenziali guasti nei componenti dei sistemi informativi
Applicare procedure per risolvere situazioni critiche
Applicare tecniche di monitoraggio degli incidenti e dei problemi ICT
Applicare tecniche di ottimizzazione delle performance dei sistemi informativi e di loro componenti
Utilizzare metodi di analisi del sistema informativo basati sulla ricorrenza di errori
Essere in grado di effettuare il rilascio (deployment) della soluzione (B.4) (ID=2319)
- Organizzare il workflow del rilascio e le attività di roll-out del prodotto - Organizzare e pianificare le attività di beta-test e testare la soluzione nel suo ambiente finale d'esercizio - Configurare componenti a ogni livello per garantire la corretta interoperabilità complessiva - Identificare e utilizzare la competenza necessaria a risolvere problemi di interoperabilità - Organizzare e controllare la fornitura dei servizi iniziali di supporto ivi incluso la formazione all'utente durante lo start-up di sistema - Organizzare il popolamento della base dati e gestire la migrazione dei dati - Collaborare a modificare il codice di terze parti, supportare e manutenere il software modificato
Conoscenze L'impatto del deployment sull'architettura corrente
Metodi e tecniche per la pacchettizzazione e la distribuzione del software
Tecniche di analisi delle performance di un sistema informativo
Tecniche di gestione del problema (funzionamento, performance, compatibilità del sistema informativo)
Tecnologie e standard da utilizzare nel deployment
Tecnologie web cloud e mobile
Abilità Applicare il workflow del deployment
Applicare regole di compilazione della documentazione in esito al rilascio della soluzione
Applicare tecniche di analisi delle performance di un sistema informativo
Applicare tecniche di beta-test
Applicare tecniche di configurazione di hardware, software e rete assicurando l’interoperabilità dei componenti del sistema
Applicare tecniche di migrazione dati e popolamento di basi dati
Essere in grado di produrre la documentazione tecnica di soluzioni IT (B.5) (ID=2313)
- Seguire e controllare l'uso effettivo degli standard di documentazione aziendali - Preparare i template per pubblicazioni condivise - Organizzare e controllare il workflow per la gestione dei contenuti - Mantenere le pubblicazioni allineate con le soluzioni durante l'intero ciclo di vita
Conoscenze Documenti tecnici richiesti per la progettazione, lo sviluppo e il deploying dei prodotti, delle applicazioni e dei servizi
Strumenti di controllo della versione per la produzione di documentazione
Strumenti per la creazione di presentazioni multimediali
Strumenti per la produzione, l'editing e la distribuzione di documenti professionali
Abilità Applicare tecniche di descrizione di prodotti, servizi, componenti o applicazioni IT
Utilizzare sistemi di gestione documentale
Utilizzare stili e media appropriati alla documentazione da presentare
Utilizzare strumenti di controllo della versione per la produzione di documentazione
Essere in grado di effettuare lo sviluppo di applicazioni (B.1) (ID=2310)
- Spiegare e comunicare la progettazione/realizzazione al cliente - Eseguire e valutare i test confrontandoli con le specifiche di prodotto - Applicare l'architettura software e/o hardware appropriata - Progettare e sviluppare le interfacce utente e le componenti software - Gestire e garantire un alto livello di qualità e di integrazione con le applicazioni esistenti - Utilizzare e conoscere standard per la rappresentazione di dati - Eseguire e valutare i test nell'ambiente di sviluppo - Collaborare con il team di sviluppo e i progettisti dell'applicazione
Conoscenze Componenti, strumenti e architetture hardware
DBMS e tecniche di data warehousing
Integrated Development Environment (IDE)
Interface Definition Languages (IDL)
Linguaggi di programmazione
Linguaggi e tecniche di modellazione
Modelli di consumo di energia del software e/o dell'hardware
Problematiche della proprietà intellettuale (IPR)
Progettazione funzionale & tecnica
Programmi/moduli software appropriati
Rapid Application Development (RAD)
Sicurezza nello sviluppo di applicazioni
Sistemi operativi e piattaforme software
Stato dell'arte delle tecnologie
Abilità Adattare soluzioni esistenti rispetto ai cambiamenti aziendali (es. porting di un'applicazione da un altro sistema operativo)
Applicare metodi per ottimizzare l’efficienza, i costi e la qualità nello sviluppo di applicazioni
Applicare tecniche di codifica, debug e test nello sviluppo di applicazioni
Scegliere le tecniche più appropriate allo sviluppo (es. riutilizzo, miglioramento, riconfigurazione di componenti esistenti)
Utilizzare metodi per personalizzare lo sviluppo di applicazioni
Utilizzare metodi per validare l’applicazione