Job Description:
Leonardo è un gruppo industriale internazionale, tra le principali realtà mondiali nell'Aerospazio, Difesa e Sicurezza che realizza capacità tecnologiche multidominio in ambito Elicotteri, Velivoli, Aerostrutture, Elettronica, Cyber Security e Spazio. Con oltre 60.000 dipendenti nel mondo, l'azienda ha una solida presenza industriale in Italia, Regno Unito, Polonia, Stati Uniti, e opera in 150 paesi anche attraverso aziende controllate, joint venture e partecipazioni. Protagonista dei principali programmi strategici a livello globale, è partner tecnologico e industriale di Governi, Amministrazioni della Difesa, Istituzioni e imprese.
All'interno dell'Area di Business Cyber & Security Solutions, stiamo ricercando Software Architect per la nostra sede di Roma Laurentina. Le risorse verranno inserite nella Line of Business (LoB) "Defence & Government Business" che ha la mission di gestire il business divisionale con riferimento a Clienti afferenti a Pubblica Amministrazione (centrale e locale).
I Principali programmi in cui è previsto l'inserimento sono: Contratti con le principali PP.AA. centrali nell'ambito del PSN, delle convenzioni Consip e altri contratti per le PP.AA.
Le persone che individueremo si occuperanno di:
- Gestire i progetti di sviluppo del software e condividere gli avanzamenti con i responsabili di progetto e con i referenti del Cliente;
- Supportare la progettazione di soluzioni architetturali durante le fasi iniziali di progetto, compresa la selezione del software e la valutazione tecnica dei prodotti;
- Interagire con gli stakeholder per comprendere e definire le esigenze applicative e funzionali e tradurle in requisiti tecnici e piani di soluzione, secondo le migliori pratiche di ingegneria del software;
- Lavorare su documenti di architettura di alto livello e di dettaglio per definire gli aspetti tecnici di progetto e la copertura dei requisiti utente, funzionali e non funzionali;
- Selezionare le piattaforme, gli strumenti e le tecnologie più appropriate in base alle esigenze del progetto e identificare le soluzioni software che rispondano ai requisiti utente;
- Coordinare e guidare i team di sviluppo e collaborare con i team di infrastruttura, garantendo che la soluzione venga realizzata secondo le specifiche architetturali definite;
- Sviluppare i talenti all'interno del team dedicato al software e instaurare una cultura di miglioramento continuo;
- Rivedere ed adattare le soluzioni per assicurare prestazioni ottimali, sicurezza, scalabilità e resilienza;
- Controllare e testare il codice del progetto ed eseguire azioni correttive su eventuali errori;
- Rispettare i vincoli di budget e tempi nel raggiungimento dei risultati desiderati.
REQUISITI
Titolo di studio:
Laurea STEM, preferibilmente in Ingegneria Informatica, o esperienza equivalente.
Seniority:
Expert. Si richiede comprovata esperienza nel ruolo di almeno 3 anni.
Conoscenze e competenze tecniche ed informatiche:
- Conoscenza dei pattern architetturali per il System Design, come Three-Tier, microservizi, SOAP;
- Competenza nei linguaggi di programmazione, dei framework e delle librerie di sviluppo (Java/Spring);
- Conoscenza delle metodologie per sviluppo software, come Waterfall, Agile o Scrum, e delle tecniche di software engineering;
- Conoscenza di database relazionali (es. SQL Server, PostgreSQL, Oracle) e non relazionali (es. MongoDB, Cassandra);
- Capacità di progettare schemi di database e modelli di dati efficienti e scalabili;
- Competenze nella progettazione e implementazione di soluzioni basate su microservizi e architetture distribuite;
- Esperienza nell'integrazione dei sistemi attraverso API e middleware, come ESB (Enterprise Service Bus);
- Competenze nella progettazione e gestione di API RESTful, OpenAPI, GraphQL o GRPC, nonché comprensione delle relative best practices;
- Conoscenza delle best practices di sicurezza delle applicazioni e capacità di progettare soluzioni resilienti alle minacce e conformi agli standard di sicurezza (come OWASP Top 10);
- Conoscenza delle architetture di Cloud Computing: cloud-native, servizi managed e modelli di deployment come IaaS, PaaS e SaaS;
- Conoscenza dei sistemi operativi e delle piattaforme di containerizzazione, come Docker e Kubernetes (AKS, GKS, Red Hat Openshift);
- Conoscenza delle metodologie Agile, DevOps e Continuous Integration/Continuous Deployment (CI/CD);
- Capacità di raccogliere, analizzare e definire i requisiti funzionali e non funzionali del sistema. Esperienza nell'utilizzo di strumenti di gestione dei requisiti come JIRA o Azure DevOps. Capacità di lavoro con metodologie Agile, tipo Scrum o SAFe;
- Capacità di produrre documentazione tecnica dettagliata, compresi documenti di architettura, diagrammi UML, guide per lo sviluppo e documenti di supporto;
- Conoscenza delle tecniche di testing software, inclusi test unitari, test di integrazione e test di sistema. Capacità di sviluppare strategie di test e garantire la qualità del software.
Conoscenze linguistiche:
Conoscenza della lingua inglese di livello B2/C1.
Competenze comportamentali:
- Capacità di spiegare concetti tecnici complessi in termini accessibili a stakeholder non tecnici, e di ascoltare e comprendere le esigenze del business;
- Abilità nel trovare soluzioni a problemi complessi, valutando le diverse opzioni disponibili;
- Guidare team di sviluppo, motivandoli e indirizzandoli verso gli obiettivi prefissati;
- Collaborare efficacemente con altri membri del team, come sviluppatori, tester, manager e altri architetti;
- Trovare compromessi e soluzioni condivise quando si presentano divergenze di opinioni o conflitti.
Altro:
Disponibilità ad effettuare trasferte nazionali; Costituiscono titolo preferenziale, certificazioni in: Oracle Certified Professional, Java EE Application Developer; Oracle Certified Professional, Java SE Programmer; Microsoft Certified Solutions Developer; Certified Kubernetes Application Developer (CKAD); SOA Certified Professional; Microservice Architect.
Seniority:
Expert
Primary Location:
IT - Roma - Via Laurentina
Contract Type:
Permanent
Hybrid Working:
Hybrid