La tua nuova azienda Hays Solutions, società del gruppo multinazionale Hays, quotata al London Stock Exchange, offre servizi di consulenza mirati all'individuazione, alla comprensione e al raggiungimento degli obiettivi concreti di un progetto di business in ambito IT, Engineering o Digital.
Siamo alla ricerca di un Senior Backend Performance Engineer / Architect, verticale su Java, Full-Remote.
Il tuo nuovo ruolo:
Analisi e diagnosi delle performance
Eseguire profiling end-to-end della pipeline di calcolo (JVM profiling, TileDB stats, query plan PostgreSQL).
Identificare colli di bottiglia reali tramite benchmark riproducibili (JMH o strumenti equivalenti).
Analizzare pattern di accesso ai dati su TileDB e ottimizzazione degli indici PostgreSQL sotto carichi realistici.
Valutare il memory footprint di strutture dati complesse (EJML, Protobuf Builders, Guava Cache).
Progettazione e ottimizzazione
Riprogettare accessi a TileDB utilizzando multi-range queries e parallelismo per ridurre la latenza.
Ottimizzare operazioni di algebra lineare (EJML), valutando parallelismo (Fork/Join, parallelStream) e utilizzo di librerie native (BLAS).
Implementare strategie di caching robuste (Guava LoadingCache) con refresh asincrono e invalidazione selettiva.
Migliorare la persistenza dati introducendo bulk insert JDBC per ottimizzare throughput.
Disaccoppiare componenti real-time (WebSocket/STOMP) tramite code asincrone.
Rimuovere colli di bottiglia di concorrenza (es. blocchi synchronized) adottando lock a grana fine o strategie concorrenti avanzate.
Correggere problematiche legate a mutabilità e thread-safety (es. Protobuf Builder in pipeline concorrenti).
Qualità e osservabilità
Definire metriche di performance chiave (latenza, throughput, cache hit-rate.
Esporre metriche tramite Spring Actuator e Micrometer.
Estendere testing di performance (modulo testapp, TestApp, MemoryProfiler.
Documentare scelte architetturali e trade-off tecnici.
Di cosa hai bisogno per avere successo:
Ottima conoscenza di Java (17+) e programmazione concorrente.
Esperienza con Spring Boot e architetture backend complesse.
Forte esperienza in performance tuning e profiling JVM.
Capacità di progettare ed eseguire benchmark riproducibili (JMH o simili).
Esperienza con database PostgreSQL (query optimization, execution plan, indici).
Esperienza con sistemi data-intensive o pipeline numeriche.
Conoscenza di JPA/Hibernate, JDBC bulk operations.
Esperienza con sistemi di messaggistica (RabbitMQ o analoghi).
Familiarità con gestione cache (Guava o simiari).
Esperienza con WebSocket / sistemi real-time.
Conoscenza di tool di monitoring (Spring Actuator, Micrometer).
Esperienza con Maven multi-module e ciclo di vita del software.
Buona conoscenza di testing (JUnit, Mockito).
Nice to have:
Esperienza con TileDB o sistemi di storage multidimensionale.
Esperienza con librerie di algebra lineare (EJML, BLAS, LAPAC,K ecc.).
Background in elaborazione numerica o scientifica.
Esperienza con Protobuf e MapStruct.
Conoscenza di strumenti E2E testing (Gauge).
Esperienza con Docker e ambienti containerizzati.
Esperienza in sistemi ad alta concorrenza e real-time.
Laurea in Informatica, Ingegneria o discipline STEM.
Cosa avrai in cambio:
Offriamo una collaborazione freelance di lunga durata / contratto di assunzione con Hays Solutions.
Modalità di lavoro: full-remote
Disponibilità: full-time
Cosa devi fare ora:
Se sei interessato a questa opportunità, clicca su "Candidarsi ora" per inviare una copia aggiornata
del tuo CV.Se questa opportunità non è in linea con le tue aspettative, ma sei alla ricerca di un nuovo lavoro, visita il nostro sito Internet per scoprirne di nuove.I candidati di ambo i sessi, dopo aver visionato l'informativa obbligatoria sulla privacy sul sito sono pregati di inviare il CV, indicando il codice «Rif» nella colonna Riepilogo a destra.Hays S.R.L. Agenzia per il Lavoro Accreditata: Aut. Min. N. 13/I/0007145/03.04 del 1 Aprile 2008.