Software Quality

2 giorni fa

varese, lombardia, Italia agap2 Italia Tempo pieno

Chi siamo:


Parte del Gruppo MoOngy Group, AGAP2 Italia è un leader europeo nei servizi di consulenza ingegneristica e IT, con una presenza consolidata in 14 paesi.


Dal 2018, AGAP2 Italia supporta aziende partner operanti nei settori aerospace, automotive, energy e industrial, contribuendo allo sviluppo e alla validazione di soluzioni tecnologiche innovative.


Posizione aperta: Senior Software Quality & Performance Engineer


Sede di lavoro: Milano Bicocca (MI)


Il Senior Software Quality & Performance Engineer è responsabile della qualità tecnica delle applicazioni software durante l'intero ciclo di sviluppo. Collabora con i team di sviluppo per garantire il rispetto degli standard di qualità del codice, sicurezza applicativa, performance e manutenibilità, attraverso attività di code review, analisi statica del codice, verifica delle dipendenze software, ottimizzazione delle performance applicative e del database. È il punto di riferimento tecnico per l'individuazione e la risoluzione dei problemi di qualità del software e contribuisce alla definizione delle linee guida di sviluppo, delle best practice e dei processi di Continuous Inspection.


Requisiti:


  • Laurea Magistrale in Informatica o Ingegneria Informatica.
  • Almeno 8 anni di esperienza nello sviluppo di applicazioni enterprise Java.
  • Esperienza nella revisione del codice e nel miglioramento della qualità del software.
  • Esperienza con metodologie Agile (Scrum/Kanban) e Waterfall.
  • Buona conoscenza della lingua inglese scritta e parlata.
  • Buona conoscenza del pacchetto Microsoft Office.


Linguaggi e framework:


  • Ottima conoscenza di Java 21 e dell'ecosistema Java.
  • Ottima conoscenza di Spring Boot e Spring Framework.
  • Ottima conoscenza di JPA/Hibernate e JDBC.
  • Solida conoscenza della programmazione orientata agli oggetti (OOP).
  • Esperienza nello sviluppo di API REST.


Code Quality:


  • Esperienza nella definizione e applicazione di standard di codifica.
  • Capacità di effettuare code review strutturate.
  • Esperienza nell'identificazione di code smell, anti-pattern e debito tecnico.
  • Capacità di proporre refactoring finalizzati a migliorare leggibilità, manutenibilità e riusabilità del codice.
  • Ottima conoscenza dei principi SOLID, Clean Code e Design Pattern.
  • Esperienza nella definizione di linee guida di sviluppo.


Secure Coding:


  • Ottima conoscenza dei principi di Secure Coding.
  • Conoscenza delle vulnerabilità OWASP Top 10.
  • Capacità di individuare vulnerabilità applicative nel codice.
  • Esperienza nella definizione delle best practice di sviluppo sicuro.


Static Application Security Testing (SAST):


  • Esperienza nell'utilizzo di strumenti di Static Application Security Testing.
  • Capacità di analizzare, classificare e gestire le vulnerabilità rilevate.
  • Esperienza nella risoluzione delle segnalazioni prodotte dagli strumenti SAST.
  • Capacità di distinguere vulnerabilità reali da falsi positivi.
  • Esperienza nell'integrazione degli strumenti SAST nelle pipeline CI/CD.


Software Composition Analysis (SCA):


  • Esperienza nell'utilizzo di strumenti Software Composition Analysis.
  • Analisi delle dipendenze software.
  • Individuazione di librerie obsolete o vulnerabili.
  • Gestione degli aggiornamenti delle dipendenze.
  • Valutazione dell'impatto degli aggiornamenti sulle applicazioni.
  • Gestione delle vulnerabilità CVE.


Performance Engineering:


  • Esperienza nell'analisi delle performance applicative.
  • Capacità di individuare colli di bottiglia.
  • Ottimizzazione del codice Java.
  • Esperienza nell'utilizzo di profiler applicativi.


Database Performance:


  • Ottima conoscenza di SQL.
  • Esperienza nell'ottimizzazione delle query.
  • Ottimizzazione dell'accesso ai dati tramite JPA/Hibernate.
  • Esperienza con Microsoft SQL Server.


Toolchain:


  • Ottima conoscenza di Git.
  • Ottima conoscenza di Maven.
  • Esperienza nell'utilizzo di SonarQube.
  • Esperienza con strumenti SAST (es. SonarQube).
  • Esperienza con strumenti SCA (es. OWASP Dependency Check).
  • Esperienza con pipeline CI/CD.


Responsabilità:


  • Eseguire code review sui progetti software.
  • Garantire il rispetto degli standard di sviluppo.
  • Analizzare le vulnerabilità individua