Corso Software Developer

Obiettivi:
Il corso IFOA "SOFTWARE DEVELOPER " della durata di 600 ore, ha l’obiettivo di formare Tecnici della programmazione in grado di operare in un team di sviluppo nelle diverse fasi del ciclo di produzione di un software. Il Software Developer sviluppa l’analisi di un problema o di un obiettivo tecnico in termini informatici.
I docenti formatori del corso IFOA "SOFTWARE DEVELOPER” sono professionisti e consulenti che, grazie a casi di studio e simulazioni creano un approccio fortemente aziendale, condividendo con l’aula la loro concreta esperienza.
Per la realizzazione delle lezioni sarà utilizzata la metodologia Agile secondo il Framework Scrum ovvero un Framework di sviluppo innovativo e “leggero” che aiuta Software Developer, team di sviluppo ed organizzazioni IT a generare valore attraverso soluzioni adattive per problemi complessi.
Il Software Developer ha l’obiettivo di:
- raccogliere richieste, necessità e indicazioni del Cliente, analizza i processi aziendali nei quali si inserisce l’intervento e ne valuta la fattibilità economica e tecnologica;
- collaborare alla definizione di architetture e modelli e al disegno di processi di controllo dell’infrastruttura informatica garantendo coerenza e completezza del sistema rispetto ai vincoli tecnologici e progettuali;
- definire il diagramma di flusso degli applicativi del sistema informativo e ne realizza le varie fasi trascrivendole in codice di programmazione;
- analizzare e interpreta i dati ottenuti dal monitoraggio/test apportando eventuali modifiche o migliorie;
- partecipare alla stesura del manuale d’uso del Sistema Informativo.
A chi è rivolto
Il corso è particolarmente indicato per diplomati con una formazione preferibilmente a indirizzo matematico/scientifico o tecnico informatico, ma risulta altrettanto adeguato per i diplomati provenienti da istituti a indirizzo sia professionale che umanistico che vogliano inserirsi a livello professionale nel mondo dell’Information and Communication Technologies.
Cosa imparerai a fare
Al termine del percorso formativo (formazione d'aula ed esperienza di stage) i corsisti saranno in grado di:
- studiare le specifiche del software definite in sede di progettazione, esaminando con attenzione i principali flussi informativi, approfondendo la struttura delle procedure e l'architettura dei dati e degli archivi su cui esse operano
- scrivere le righe di codice dei programmi secondo le specifiche definite in fase di progettazione in maniera rapida e corretta, riducendo errori, costi, tempi di sviluppo e rispettando le scadenze previste
- eseguire test di funzionamento di tutte le procedure, verificandone il corretto funzionamento in tutte le possibili condizioni di utilizzo da parte del cliente o dell'utilizzatore finale
- installare il pacchetto software presso il cliente finale, curando l'integrazione con il preesistente sistema informatico, verificando l'assenza di problematiche aggiuntive legate all'ambiente operativo e illustrando le caratteristiche e le funzionalità del software agli utenti
- assicurare il necessario aggiornamento e una corretta manutenzione del software, eliminando gli errori e i malfunzionamenti che si dovessero manifestare dopo l'installazione e curando l'adattamento dei programmi a eventuali nuove esigenze o richieste del cliente
Contenuti del corso
- Orientamento alla Figura Professionale Obiettivo
- La figura professionale secondo il RRFP e l’Atlante delle Professioni
- Programmatore Java: Front End, Back End, Full Stack
- L’ambito di riferimento: Ruoli e Responsabilità
- La figura professionale all’interno di un’organizzazione aziendale
- Valorizzare il proprio profilo professionale attraverso l’uso di Linkedin
- Inglese tecnico e linguaggi di programmazione
- Le caratteristiche dei manuali tecnici in lingua inglese
- La sintassi dell’inglese tecnico
- Termini e significati
- Leggere e comprendere un manuale tecnico in lingua inglese
- I White Paper e la documentazione tecnica
- Le caratteristiche della comunicazione verbale in lingua inglese in contesti tecnici
- I servizi di Help desk tecnico in lingua inglese
- Comunicare correttamente in lingua inglese
- Sistemi operativi Server in ambiente Microsoft
- I servizi di rete
- La suite di protocolli TCP/IP
- Indirizzamento IP, Reti e sottoreti
- I server Web
- Il Ciclo di vita del software
- Attività fondamentali e modelli di processo per la progettazione di nuovo software.
- Le caratteristiche dei differenti linguaggi di programmazione
- Le caratteristiche dei “Processi”
- Metodologie pesanti, Iterative, Agili
- Introduzione alla programmazione Object Oriented,
- Oggetti, classi, comportamenti ed attributi
- Classe Albero, oggetti, metodi, attributi
- Meccanismi che consentono di organizzare le classi ed i comportamenti
- Interfacce e package
- I framework di sviluppo in Java
- Framework, librerie e interfacce di programmazione delle applicazioni a confronto
- Tools di programmazione
- Procedure per l’installazione del software
- Introduzione alla gestione documentale
- I Framework documentali
- Scrivere la documentazione tecnica per i tecnici
- Scrivere la documentazione tecnica per gli utenti finali
- Introduzione alla logica di programmazione in Java
- Variabili 34
- Espressioni, istruzioni e blocchi
- Classi
- Compilazione
- Introduzione a SQL
- Web, Database e DBMS
- Il modello relazionale in SQL
- Strumenti per interagire con un DBMS
- Creare un database
- Popolare un database
- SELECT, interrogare un database
- Ricerca, filtraggio e ordinamento
- GROUP BY e funzioni di aggregazione
- UPDATE: modificare i dati con SQL
- DELETE, eliminare i record dalle tabelle
- Subquery
- Le transazioni 35
- Rigger
- Funzioni e procedure
- Modificare la struttura del database
Lavorare con i Java Data Types: tipi primitivi; classe String; classe String Builder; Oggetti ed Ereditarietà
Utilizzare gli Operators e i Decision Constructs: Operatori; If then Else; Switch Case
Creare ed utilizzare gli Arrays: Array; Compare & Mismatch method; Cloning; Liste dinamiche; Methods of & copy; Subliist method
Utilizzare i Loop Constructs: ciclo for; while e Do while; Foreach
Lavorare con i Methods e le Encapsulation: Metodi; Gestione dei parametri; Init block ;Static modifier; Final modifier; Classi annidate; Ereditarietà e Casting
Lavorare con le interfacce: Interfacce e classi astratte; Ereditarietà e Polimorfismo; Interface & Inheritance; Interface methods; Using vari; Protected modifier; Lambda Calcolo; Predicati; Predicate; Using var 2; Consumer & Supplier; Lambda expression & list method
Gestire le eccezioni: eccezioni; Inheritance; Init block
Date e Time Api: Date and Time
Moduli: Introduzione; Dichiarazione; Compilazione ed Esecuzione; Require ed Export; Require Transitive; Integrazione non moduli
- Tecniche di debug delle applicazioni
- Monitoraggio delle performance
- Processi di debug
- Documentare il debug delle applicazioni
- Tools di installazione delle applicazioni
- Procedure per l’installazione delle applicazioni
- Documentazione tecnica per gli utenti
Lo stage sarà organizzato e realizzato al termine dell’attività di aula come “Progetto di esperienza individuale in situazione lavorativa”.
Per ogni stage sarà realizzato un progetto formativo, al fine di individuare, in base al partecipante ed alla struttura ospitante, i compiti e gli obiettivi principali da sviluppare. I contenuti saranno, comunque, incentrati sulle tematiche affrontate nella parte teorica del corso e in coerenza con le performance del profilo professionale obiettivo.
Requisiti in ingresso
Sarà considerato requisito preferenziale:
- il possesso di una laurea in Informatica o Ingegneria Informatica, oppure di un'altra laurea, preferibilmente ad indirizzo scientifico, integrata con corso di formazione o specializzazione in informatica
- la conoscenza di base della lingua inglese (livello minimo di conoscenza A2)
Sbocchi occupazionali
Il Software Developer attraverso il conseguimento della qualifica di Tecnico della programmazione e dello sviluppo di programmi informatici sarà in grado di operare all'interno di PMI che hanno come "core business" lo sviluppo del software per la gestione dei processi di fornitura di servizi, dei processi produttivi e di quelli gestionali.
Certificazioni
- Certificato di qualifica professionale
Descrizione certificazione
Qualifica di "Tecnico della programmazione e dello sviluppo di programmi informatici" (rif. figura RRFP 173 - Tecnico della programmazione e dello sviluppo di programmi informatici) P.O. FESR/FSE PUGLIA 2014 – 2020, Approvato con Decisione C(2015)5854 del 13/08/2015
Estremi finanziamento
Corso riconosciuto dalla Regione Puglia con A.D. n. 00264 del 06/03/2023
Note
Il corso ha una durata di 600 ore di cui:
- 300 ore di Formazione (aula teoria /pratica, laboratorio, visite guidate)
- 300 ore di Stage in regione Puglia o fuori regione