Software Developer

Obiettivi:

Il corso Software Developer 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. Tecnici in grado di gestire lo sviluppo operativo del software in ambiente Microsoft .NET e Sun JAVA, rispettando tempi, costi e requisiti riportati dettagliatamente nel documento di specifica redatto dal Business Analyst. 

Al termine del percorso i partecipanti avranno conseguito la qualifica di "Tecnico della programmazione e dello sviluppo di programmi informatici".

TIPOLOGIA CORSO:
Con stage, Post Diploma, Finanziato/Gratuito
AREA TEMATICA:
Digitale
DURATA:
600 ore
STAGE:
300 ore
CONDIVIDI

Destinatari

20 giovani disoccupati o inattivi, di età inferiore ai 35 anni, residenti o domiciliati in Puglia, che vogliano inserirsi a livello professionale nel mondo dell’Information and Communication Technologies, 
in possesso dei seguenti requisiti: 

  • Età non superiore ai 35 anni
  • Residenti e/o domiciliati/e in un Comune del territorio regionale pugliese 
  • Inoccupati/e, disoccupati/e, inattivi/e  
  • In possesso del titolo di istruzione secondaria superiore preferibilmente ad indirizzo Programmatori o    tecnico, integrato da corsi di formazione, specializzazione o aggiornamento specifici. 
Secondo quanto previsto dalla Nota della Regione Puglia Prot. AOO_137/0005837 del 25/02/2019, sarà considerata la riserva del 15% (Convenzione Operativa del 02/07/2014) in favore dei militari congedati che risultino disporre dei requisiti di ingresso e che risultino idonei a seguito delle selezioni.

Competenze in uscita

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 ed illustrando le caratteristiche e le funzionalità del software agli utenti
  • assicurare il necessario aggiornamento ed una corretta manutenzione del software, eliminando gli errori ed i malfunzionamenti che si dovessero manifestare dopo l'installazione e curando l'adattamento dei programmi ad eventuali nuove esigenze o richieste del cliente

Contenuti del corso

  • Orientamento alla Figura Professionale Obiettivo
  • La figura professionale e l’ambito di riferimento: Ruoli e Responsabilità
  • La figura professionale all’interno di un’organizzazione aziendale
  • Pari opportunità e non discriminazione: Che cos’è la diversità? le diversità primarie (sesso, età, genere, etnia, orientamento sessuale, disabilità, ecc.) e quelle secondarie (istruzione, background professionale e sociale, status familiare, ecc.), leggi per le pari opportunità e la non discriminazione, stereotipi e le pratiche di discriminazione che possono esistere sul posto di lavoro. Diversity Management: la gestione della diversità; Azioni positive per l’inclusione
  • 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

 

  • Le caratteristiche dei principali database
  • Interazioni fra database e Origine dati ODBC
  • Gestire i database all’interno di applicazioni
  • 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
  • Introduzione ai Design Patterns
  • Composizione di un pattern
  • Elementi caratterizzanti dei design pattern. Nome, problema, soluzione e conseguenze
  • Descrizione di un design pattern
  • Classificazione dei pattern

 

Parte 1

  • Getting Started with Databases and Transact-SQL in SQL Server
  • Querying and Filtering Data
  • Grouping and Summarizing Data / Joining Data from Multiple Tables
  • Working with Subqueries / Modifying Data in Tables
  • Querying Metadata, XML, and Full-Text Indexes
  • Using Programming Objects for Data Retrieval
  • Using Advanced Querying Techniques

Parte 2

  • Getting Started with Object-Oriented Programming
  • Implementing Classes, Properties and Methods
  • Implementing Inheritance, Abstraction, and Polymorphism
  • Implementing Interfaces / Designing Object-Oriented Structures
  • Implementing Delegates, Events, and Exceptions
  • Designing Object Collaboration
  • Deploying Components and Class Libraries

Parte 3

  • Getting Started with ADO.NET
  • Modifying Data by Using ADO.NET Commands
  • Querying and Maintaining Data by Using DataSets
  • Querying and Maintaining Data by Using LINQ
  • Implementing an Entity Model by Using the ADO.NET Entity Framework
  • Building Occasionally Connected Solutions by Using Synchronization Services

Parte 4

  • Overview of the Microsoft .NET Framework
  • Using Microsoft Visual Studio .NET
  • Using Microsoft .NET-Based Languages
  • Creating a Microsoft ASP.NET Web Form
  • Adding Code to a Microsoft ASP.NET Web Form
  • Tracing in Microsoft ASP.NET Web Applications
  • Validating User Input
  • Creating User Controls

Parte 5

  • Accessing Relational Data Using Microsoft Visual Studio .NET
  • Accessing Data with Microsoft ADO.NET
  • Calling Stored Procedures with Microsoft ADO.NET
  • Reading and Writing XML Data / Consuming and Creating XML Web Services
  • Managing State
  • Configuring, Optimizing, and Deploying a Microsoft ASP.NET Web Application
  • Securing a Microsoft ASP.NET Web Application

 

Introduzione a Java e al suo ambiente di sviluppo

  • Componenti fondamentali di un programma
  • Regole e standard, tipi di dati primitivi e complessi, Javadoc, Array, Operatori e costrutti
  • OO Programming, Incapsulamento, Java Beans, Coesione e accoppiamento
  • Ereditarietà, Polimorfismo per dati, Overload, Override, Metodi virtuali ,
  • Collezioni eterogenee, Parametri polimorfi, Casting e instanceof
  • Costruttori e paradigmi, Gestione delle eccezioni, Asserzioni, Classi innestate, Classi anonime
  • Enumerazioni, Modificatori, Librerie fondamentali lang & util, Collections & Generics
  • Classi Wrapper & Autoboxing, Annotazioni
  • Multithreading.
  • Interfacce grafiche

Introduzione alla piattaforma J2EE, Componenti, Esempi di piattaforme J2EE

  • Web Application: Definizione, Vantaggi e Svantaggi
  • Sviluppo di web application su piattaforma J2EE
  • Layer Applicativi, Schema Base, MVC Pattern
  • Introduzione a Struts 2: Descrizione Componenti e Ciclo di vita
  • Esempio di applicazione ‘DUMMY’
  • Creazione progetto su IDE(Eclipse Indingo)
  • Configurazione Application Server (Glassfish Runtime)
  • Configurazione librerie e BUILD PATH
  • Configurazione componenti STRUTS e WEB.XML
  • I Database: Client Tool Connection
  • Esempi di query – Interrogazione database e Cenni su PL/SQL

La persistenza dei dati

  • Hibernate Framework Overview, Hibernate Configuration, Ciclo di vita di un’entità

Design Model

  • Partenza della fase di Elaboration, Candidate classes, Key Abstractions
  • Gestione Domain Model , Paradigmi OO, Design Model
  • Robustness analisys, Progettazione per contratto

Design Patterns e gestione Dynamic Model

  • Architecture Model: High Level Deployment Diagram
  • Scelte Architetturali e Architecture Template
  • Evolutionary Template (prototipo), Gestione dell’architettura, Tiers & Layers Diagram
  • Business Code Skeleton, Flusso Interfaccia Grafica, Database Design, Development Plan
  • Test Plan, Solution Model, Tecniche di Clean Code, Refactoring
  • 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

 

  • Introduzione alla gestione documentale
  • I Framework documentali
  • Scrivere la documentazione tecnica per i tecnici
  • Scrivere la documentazione tecnica per gli utenti finali

 

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.

La forza dello strumento “stage” sta nel permettere all'allievo lo sviluppo di un percorso formativo per mezzo di un'esperienza concreta che favorisca la connessione tra sistema formativo e mondo del lavoro. Le aziende richiedono esperienza e comunque, anche in assenza di esperienze significative, esigono un buon livello di autonomia, flessibilità, capacità di relazionarsi, riassumibili col concetto di "saper lavorare" dal punto di vista dei comportamenti, atteggiamenti, impegno da spendere in azienda. Ovviamente il metodo migliore per garantire tutto questo è offrire uno strumento che permetta di "imparare operando", partendo dal presupposto che solo facendole le cose si imparano. Pertanto in linea generale si può fare riferimento a due livelli di definizione del progetto formativo tra di loro integrati:

  • il livello delle relazioni organizzative, affinché l’allievo possa essere posto nelle condizioni di inserirsi funzionalmente nel sistema di rapporti aziendali e di flussi operativi;
  • il livello “produttivo”, affinché l’allievo sia in condizione di sperimentare la propria preparazione professionale all’interno della struttura, con i suoi ritmi, tempi, flussi di informazioni, assunzioni di responsabilità, capacità di pianificazione e controllo dei flussi di processo.

Scopo principale delle ore di stage è offrire all’allievo l’opportunità di sperimentarsi in un’assunzione progressiva di autonomia professionale ed operativa; le esperienze di stage saranno, pertanto, progettate, valutate e documentate durante lo svolgersi del percorso. I progetti formativi saranno declinati sulla base delle performance descritte in tutte le ADA della figura professionale.

 

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)

L’ammissione al corso è subordinata al superamento di una prova di selezione composta da un test scritto ed un colloquio motivazionale. Il colloquio individuale ha lo scopo di esaminare e valutare le attitudini e le esperienza formative e professionali del candidato rispetto al profilo in esame.

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

Progetto di formazione finalizzato all'acquisizione di qualifiche professionali regionali nei settori “prioritari”, Avviso n. 5/FSE/2018 approvato con Atto Dirigenziale n. 1020 del 27/09/2018, BURP n. 128/2018 e delle graduatorie approvate con A.D. n. 638 del 06 giugno 2019 BURP n.65/2019. –  SOFTWARE DEVELOPER 
(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


Enti Finanziatori


Partners

Il corso è stato co-progettato e verrà realizzato da IFOA in stretta collaborazione con:

  • Unioncamere Regione Puglia
  • Università degli studi di Bari - Dipartimento di Informatica

Partecipano inoltre: Apulia Soft Srl; Auriga Spa; Consorzio Chorus –Net; CSGR Carelli Servizi Globali Reali Srl. Domino Srl; DPO Privacy 6 Services S.R.L.S.; Edilportale Spa; Fincons Group Spa; G.N. Services S.R.L.; GTS Logisic Spa; GTS Rail Spa; Loran Srl; Mac&Nil Srl; Mermec Spa; Nea Project Srl. Nextopera Srl; Sigma Sistemi Srl; 360consulenza del Dott. Giosef Perricci

partners


Corsi correlati

Richiedi info
(ci permette di fornirti un servizio più veloce e preciso)
Informativa Privacy (Reg. UE 2016/679)
L'informativa estesa relativa al trattamento dei suoi dati personali da parte IFOA la trova all'indirizzo https://www.privacylab.it/informativa.php?09395343333
Presta inoltre il suo consenso al trattamento dei dati personali per le finalità facoltative sotto riportate?
Invio di comunicazione su eventi, servizi e prodotti Ifoa