
SW Engineer - Application distributed SW - settore DIFESA
Job Description
Attività:
La risorsa sarà inserita all’interno di un team di sviluppo software impegnato nella progettazione e realizzazione di applicazioni distribuite ad alte prestazioni. Il ruolo prevede il contributo alla definizione dell’architettura software, allo sviluppo di componenti applicativi e alla loro integrazione.
La risorsa parteciperà all’intero ciclo di vita del software, dalla fase di analisi e progettazione fino allo sviluppo, testing, con particolare attenzione alle performance, alla manutenibilità e all’affidabilità del software.
La figura avrà la possibilità di svolgere la propria attività lavorativa al 40% in smartworking.
Requisiti:
Esperienza professionale di almeno 5 anni nello sviluppo software;
Solida conoscenza dei principi di progettazione Object-Oriented, dei design pattern e degli standard di modellazione software (es. UML);
Esperienza consolidata nello sviluppo con Java, Python e C++;
Buona familiarità con metodologie Test-Driven Development (TDD) e con framework di unit testing (es. JUnit, CPPUnit, Spock);
Conoscenza approfondita dei protocolli di rete e delle dinamiche di comunicazione in sistemi distribuiti;
Esperienza nell’utilizzo di Git come sistema di versionamento del codice;
Familiarità con strumenti di Continuous Integration e DevOps, in particolare Jenkins e strumenti di configuration management;
Capacità di progettare e sviluppare applicazioni multi-threaded, con attenzione all’ottimizzazione della memoria e delle prestazioni;
Competenze di scripting (es. Python, Bash) per attività di automazione e supporto allo sviluppo;
Esperienza nella progettazione e gestione di database relazionali e NoSQL;
Conoscenza delle principali tecniche di scalabilità e load balancing in architetture distribuite;
Attitudine alla scrittura di codice di qualità, testabile e conforme a metriche di performance e manutenibilità.