Programmatore informatico
Descrizione
Il/la Programmatore/trice informatico/a realizza, modifica o integra - sulla base di specifiche date - applicazioni software e siti web, utilizzando uno o più linguaggi di programmazione (coding), curando la verifica delle funzionalità del software - anche interagendo con specifiche professionalità di testing - e la correzione degli errori. Sulla base della versione stabile, cura direttamente o supporta, la redazione della manualistica tecnica d‘uso, curando - anche in team - le operazioni di installazione e messa in esercizio presso gli utilizzatori.
ADA associate alla qualificazione
ADA.14.01.07Progettazione della User Experience
ADA.14.01.09Sviluppo applicazioni
ADA.14.01.12Rilascio (deployment) della soluzione
ADA.14.01.13Produzione di documentazione tecnica e illustrativa di prodotti/servizi
Competenze
Scelta delle modalità di sviluppo del software
Mostra abilità e conoscenzeMostra attività
Mostra abilità e conoscenzeMostra attività
Conoscenze
- Ciclo dello sviluppo del software
- Fondamenti di informatica: architetture, sistemi operativi; principi di programmazione, relazioni fra algoritmi e dati, tipologie di linguaggi
- Principi di pianificazione e disegno di testing e criteri di validazione e riuso del software
- Principi e tecniche di cybersecurity, migrazione e protezione dei dati
- Principi e tecniche di project management applicati allo sviluppo di software
- Principi, metodi e strumenti di gestione della documentazione dello sviluppo del software
- Tipologie di strumenti di supporto all'organizzazione ed alla gestione del processo di sviluppo del software (IDE, repository, librerie condivise, strumenti di debugging, versioning, testing, workflow, supporto delle community online)
Abilità
- Definire, sulla base delle specifiche e dei vincoli di progetto, gli strumenti a supporto del processo di sviluppo del software
- Definire e pianificare, attraverso strumenti condivisi, le fasi di sviluppo, le modalità di gestione e documentazione del progetto e le tempistiche
- Definire le regole di testing e i criteri di validazione e di riuso del software
- Utilizzare strumenti a supporto del processo di sviluppo del software
| ADA |
|---|
ADA.14.01.09 - Sviluppo applicazioniRA1: Sviluppare applicazioni in coerenza con la progettazione e a partire dall’individuazione delle migliori opzioni tecniche disponibili, anche riutilizzando e migliorando componenti già esistenti, e verificando e testando la rispondenza del prodotto alle specifiche tecniche Definizione delle caratteristiche degli ambienti applicativi di sviluppo Selezione e utilizzo di strumenti a supporto del processo di sviluppo del software Sviluppo delle componenti software in base alle specifiche funzionali e coerentemente con il disegno architetturale Sviluppo delle interfacce utente Adattamento di soluzioni esistenti (riutilizzo, miglioramento, riconfigurazione di componenti esistenti) Realizzazione di test di prodotto sulla scorta delle specifiche tecniche Produzione dei documenti relativi ai deliverable di ciascuna fase di sviluppo del prodotto Illustrazione al cliente degli aspetti progettuali/realizzativi del prodotto Modellazione dei dati |
Sviluppo delle componenti software e delle interfacce
Mostra abilità e conoscenzeMostra attività
Mostra abilità e conoscenzeMostra attività
Conoscenze
- Fondamenti di informatica: architetture, sistemi operativi; principi di programmazione, relazioni fra algoritmi e dati, tipologie di linguaggi
- Framework di programmazione
- Linguaggi di programmazione ad oggetti e procedurali
- Linguaggi di scripting
- Metalinguaggi di markup
- Principi di business logic e di responsive design
- Principi di tutela dei dati personali
- Principi di universal design (interfacce standardizzate, adattabilità dei prodotti), ergonomia ed accessibilità, User Experience
- Principi e tecniche di cybersecurity, migrazione e protezione dei dati
- Strumenti a supporto del coding
Abilità
- Realizzare o modificare applicazioni e algoritmi, sulla base delle specifiche progettuali fornite, attraverso l'utilizzo di framework, linguaggi programmazione, scripting e markup
- Applicare principi di business logic e responsive design, integrando all'occorrenza componenti esistenti
- Integrare, nella progettazione del prodotto, direttrici di Universal Design, per garantire la piena fruibilità dell'esperienza di utilizzo da parte di tutte le tipologie di utilizzatori
- Integrare la progettazione del prodotto secondo criteri ergonomici, di accessibilità ed ottimizzazione della user experience
| ADA |
|---|
ADA.14.01.07 - Progettazione della User ExperienceRA 1: Realizzare analisi della User Experience di prodotti digitali e profilazioni degli utilizzatori, anche sulla base di elementi di contesto e dei trend del mercato Analisi delle dimensioni esperienziali dell’uso di un prodotto digitale e delle esigenze degli utilizzatori, in funzione del contesto e del mercato Profilazione degli utilizzatori in funzione dell’esperienza d’uso, anche con riferimento ad utilizzatori con bisogni speciali Rilevazione, misurazione e analisi della User Experience RA2: Intervenire nella progettazione del prodotto digitale assicurando l’impiego di criteri di Universal Design e di ottimizzazione della User Experience Incorporazione nella progettazione del prodotto digitale di una logica di ottimizzazione dell’ergonomia, dell’accessibilità, dell’esperienza d‘uso Introduzione nella progettazione del prodotto digitale di principi di Universal Design RA3: Curare la comunicazione relativa alle funzionalità e all’utilizzo del prodotto digitale, anche a partire dalla progettazione di mock-up e prototipi interattivi, garantendone la suitability (correttezza, completezza, efficacia, disponibilità, ecc.) Progettazione di mock-up e prototipi interattivi del prodotto digitale Cura della comunicazione relativa all’uso, alle funzioni e alle caratteristiche del prodotto |
| ADA |
|---|
ADA.14.01.09 - Sviluppo applicazioniRA1: Sviluppare applicazioni in coerenza con la progettazione e a partire dall’individuazione delle migliori opzioni tecniche disponibili, anche riutilizzando e migliorando componenti già esistenti, e verificando e testando la rispondenza del prodotto alle specifiche tecniche Definizione delle caratteristiche degli ambienti applicativi di sviluppo Selezione e utilizzo di strumenti a supporto del processo di sviluppo del software Sviluppo delle componenti software in base alle specifiche funzionali e coerentemente con il disegno architetturale Sviluppo delle interfacce utente Adattamento di soluzioni esistenti (riutilizzo, miglioramento, riconfigurazione di componenti esistenti) Realizzazione di test di prodotto sulla scorta delle specifiche tecniche Produzione dei documenti relativi ai deliverable di ciascuna fase di sviluppo del prodotto Illustrazione al cliente degli aspetti progettuali/realizzativi del prodotto Modellazione dei dati |
Modellazione, interrogazione e gestione dei dati
Mostra abilità e conoscenzeMostra attività
Mostra abilità e conoscenzeMostra attività
Conoscenze
- Fondamenti di informatica: architetture, sistemi operativi; principi di programmazione, relazioni fra algoritmi e dati, tipologie di linguaggi
- Linguaggi strutturati e specifici di interrogazione
- Metodi e tecniche di standardizzazione e diffusione dei dati
- Principi di tutela dei dati personali
- Principi e tecniche di cybersecurity, migrazione e protezione dei dati
- Procedure di storage, in DBMS relazionali o NoSQL
- Tipologie di DBMS database management system: relazionali o NoSQL
Abilità
- Realizzare database, utilizzando il DBMS (relazionale o NoSQL) definito nelle specifiche progettuali
- Verificare eventuali criticità o incompatibilità rispetto agli schemi fisici e logici
- Applicare metodi e strumenti per la popolazione e la migrazione dei dati
- Realizzare interrogazioni attraverso linguaggi strutturati (SQL), linguaggi di dominio specifici (DSL) anche per gestire grandi moli di dati, garantendo gli aspetti legati alla sicurezza, le prestazioni, l'ottimizzazione e l'integrità dei dati
- Realizzare procedure di storage e ricerche semantiche nei diversi ambienti (SQL, NoSQL, Document oriented)…
- Definire le modalità di utilizzo e di accesso alle fonti informative, adottando metodi per la standardizzazione e la diffusione dei dati, eseguendo eventualmente il porting e l'adeguamento delle componenti applicative
| ADA |
|---|
ADA.14.01.09 - Sviluppo applicazioniRA1: Sviluppare applicazioni in coerenza con la progettazione e a partire dall’individuazione delle migliori opzioni tecniche disponibili, anche riutilizzando e migliorando componenti già esistenti, e verificando e testando la rispondenza del prodotto alle specifiche tecniche Definizione delle caratteristiche degli ambienti applicativi di sviluppo Selezione e utilizzo di strumenti a supporto del processo di sviluppo del software Sviluppo delle componenti software in base alle specifiche funzionali e coerentemente con il disegno architetturale Sviluppo delle interfacce utente Adattamento di soluzioni esistenti (riutilizzo, miglioramento, riconfigurazione di componenti esistenti) Realizzazione di test di prodotto sulla scorta delle specifiche tecniche Produzione dei documenti relativi ai deliverable di ciascuna fase di sviluppo del prodotto Illustrazione al cliente degli aspetti progettuali/realizzativi del prodotto Modellazione dei dati |
Testing e deployment del software sviluppato
Mostra abilità e conoscenzeMostra attività
Mostra abilità e conoscenzeMostra attività
Conoscenze
- Fondamenti di informatica: architetture, sistemi operativi; principi di programmazione, relazioni fra algoritmi e dati, tipologie di linguaggi
- Metodi e tecniche di deployment e definizione del relativo workflow
- Metodi e tecniche di disegno di test di prodotto
- Metodi e tecniche di formazione addestrativa degli utenti
- Principi di tutela dei dati personali
- Principi e tecniche di configurazione di componenti hardware e software
- Principi e tecniche di cybersecurity, migrazione e protezione dei dati
- Principi e tecniche di produzione ed organizzazione della documentazione
- Strumenti per la migrazione dei dati
Abilità
- Realizzare test di prodotto pre
- Individuare le tecnologie da utilizzare nel deployment e preparare il workflow
- Configurare le componenti hardware, software e di rete per assicurare l'interoperabilità complessiva, rilevando eventuali difetti o incompatibilità
- Installare, aggiornare o dismettere componenti hardware o software, per garantire il funzionamento dell'applicazione e la compatibilità dei sistemi
- Pianificare ed eseguire, laddove necessario, la migrazione e il backup dei dati, garantendone l'integrità e la riservatezza
- Eseguire il beta test, rispettando le specifiche contenute nel workflow, attraverso l'applicazione di protocolli e standard predefiniti
- Consegnare la soluzione completamente operante all'utente e redigere la documentazione, registrando tutte le informazioni rilevanti
- Formare o supportare la formazione degli utenti sull'uso della soluzione rilasciata, avendo cura di illustrare le situazioni tipo e i metodi per risolvere gli errori più comuni
| ADA |
|---|
ADA.14.01.09 - Sviluppo applicazioniRA1: Sviluppare applicazioni in coerenza con la progettazione e a partire dall’individuazione delle migliori opzioni tecniche disponibili, anche riutilizzando e migliorando componenti già esistenti, e verificando e testando la rispondenza del prodotto alle specifiche tecniche Definizione delle caratteristiche degli ambienti applicativi di sviluppo Selezione e utilizzo di strumenti a supporto del processo di sviluppo del software Sviluppo delle componenti software in base alle specifiche funzionali e coerentemente con il disegno architetturale Sviluppo delle interfacce utente Adattamento di soluzioni esistenti (riutilizzo, miglioramento, riconfigurazione di componenti esistenti) Realizzazione di test di prodotto sulla scorta delle specifiche tecniche Produzione dei documenti relativi ai deliverable di ciascuna fase di sviluppo del prodotto Illustrazione al cliente degli aspetti progettuali/realizzativi del prodotto Modellazione dei dati |
| ADA |
|---|
ADA.14.01.12 - Rilascio (deployment) della soluzioneRA1: Organizzare e coordinare il processo di deployment e le attività di rollout della soluzione, anche pianificando, se necessario, le attività di beta testing Organizzazione e coordinamento del workflow del deployment e delle attività di rollout del prodotto Pianificazione attività di beta-test RA2: Consegnare la soluzione perfettamente operante all’utente nel rispetto degli standard predefiniti di esercizio, provvedendo alla sua installazione e configurazione, allo start-up e al necessario training dell’utente, avendo cura di documentare adeguatamente il deployment Installazione/rimozione di componenti Configurazione di componenti (hardware, software) e reti Realizzazione test e collaudi del prodotto in ambiente finale di esercizio Identificazione di componenti non performanti e delle relative cause Risoluzione di criticità relative all’interoperabilità Cura delle operazioni di popolamento/migrazione di base dati Cura del training utente in fase di start-up di sistema Compilazione della documentazione di deployment e registrazione di informazioni rilevanti (indirizzi delle macchine, dati di configurazione, dati di performance, ecc.) |
| ADA |
|---|
ADA.14.01.13 - Produzione di documentazione tecnica e illustrativa di prodotti/serviziRA1: Definire requisiti, standard e flusso di lavoro relativamente alla documentazione/informazione tecnica sui prodotti e i servizi, in considerazione dei diversi ambienti target, verificandone l’effettivo e corretto impiego nell’attività aziendale Organizzazione e controllo del workflow per la gestione degli aspetti di documentazione e informazione su prodotti/servizi Monitoraggio/controllo dell’utilizzo effettivo degli standard comunicativi aziendali Predisposizione di template per pubblicazioni condivise RA2: Predisporre e aggiornare documenti e altre realizzazioni (es. mock up) di descrizione/illustrazione dei prodotti/servizi, in conformità ai requisiti, agli standard e alle procedure previste, curando sia la redazione dei testi che gli elementi a corredo (immagini, grafici, video) Cura dell’aggiornamento dei contenuti documentativi/informativi durante l’intero ciclo di vita dei prodotti/servizi Revisione ed editing dei mock-up Predisposizione di testi per documentazione tecnica e informazione su prodotti e servizi, per l’utilizzo in vari canali comunicativi Realizzazione di immagini, grafici e video a corredo di contenuti documentativi/illustrativi di prodotti e servizi |
