30 ott - Italia
SII Group Italy
Fondata nel 1979, SII Group è una società di consulenza internazionale con oltre 100 sedi in quattro continenti, specializzata in IT ed Engineering Consulting. Nell’ambito dei nostri progetti, SII Italia è alla ricerca di un Software Architect con esperienza nella progettazione e nello sviluppo di soluzioni software complesse, con particolare attenzione ad applicazioni real-time e sistemi ad alta affidabilità. Roma (ibrido) La risorsa contribuirà alla definizione delle architetture software e allo sviluppo delle applicazioni, seguendo l’intero ciclo di vita del prodotto e supportando il team nelle scelte tecniche e nel miglioramento della qualità del codice. Progettare e sviluppare applicazioni software in ambienti Unix-like, con particolare attenzione ai sistemi real-time. Contribuire alla definizione delle architetture software, applicando principi di programmazione orientata agli oggetti e design pattern. Tradurre le esigenze degli stakeholder in requisiti software attraverso strumenti e metodologie quali SysML, UML e DOORS. Redigere la documentazione tecnica in conformità alla MIL-STD-498 e ai processi aziendali. Definire ed eseguire test case, attività di debugging e verifiche della qualità del software. Ottimizzare le prestazioni attraverso strumenti di profiling e analisi statica e dinamica del codice. Utilizzare strumenti di gestione del ciclo di vita del software e pipeline di Continuous Integration e Continuous Delivery. Supportare la crescita dei componenti meno esperti del team attraverso mentoring, formazione e revisione del codice. Laurea in Informatica o Ingegneria Informatica.
Almeno 6 anni di esperienza nello sviluppo software enterprise in contesti industriali o di ricerca applicata. Almeno 3 anni di esperienza con soluzioni scalabili e ad alta affidabilità. Conoscenza di C++11 o versioni successive e Python 3. Conoscenza della piattaforma SoC Intel Agilex con architettura ARM. Esperienza con sistemi operativi real-time (RTOS) e architetture SMP, Symmetric Multi Processing. Ottima conoscenza di Linux, degli ambienti Unix-like e dei linguaggi di scripting. Conoscenza dei protocolli TCP/UDP, delle interfacce seriali RS232/422/485 e di MQTT o protocolli analoghi. Esperienza con CMake, Git e processi CI/CD. Padronanza delle metodologie di analisi e progettazione orientate agli oggetti, di UML e dei principali design pattern. Conoscenza dell’intero ciclo di vita del software e capacità di valutare la qualità del codice e della relativa documentazione. Competenza nell’utilizzo di strumenti e metodologie DevOps, quali Jenkins, Nexus, GitLab, Docker e Kubernetes. Attitudine allo sviluppo test-driven, alla scrittura di test di unità e al rispetto delle metriche di qualità e performance. Buona conoscenza dei principi della metodologia Agile. Ottima conoscenza della lingua inglese, scritta e parlata. Capacità di lavorare in team, comunicare efficacemente e gestire priorità e carichi di lavoro, con flessibilità e orientamento al problem solving. Esperienza con VxWorks. Conoscenza delle versioni più recenti del linguaggio C++. Esperienza nell’utilizzo di Jenkins per la gestione delle pipeline CI/CD. #