Descrizione della Posizione Lavorativa
Scopo e attività
La risorsa, in qualità di Senior Software Engineer all'interno dell'area Group Technology di Intesa Sanpaolo, sarà responsabile della gestione delle problematiche tecniche legate a microservizi e architetture distribuite e della realizzazione di soluzioni end-to-end in produzione. Parteciperà alla definizione degli standard di qualità tramite code review e implementazioni di riferimento per la crescita delle figure junior e collaborerà con il CTO nelle decisioni architetturali di piattaforma.
Principali responsabilità
- Progettare, implementare, testare e mantenere microservizi basati su Quarkus e JVM/GraalVM, esponendo API REST/GRPC o utilizzando logiche event-driven.
- Progettare flussi event-driven su Kafka: topologia dei topic, evoluzione degli schemi (Avro/Protobuf), semantiche di delivery (es. exactly-once), strategie di retry e gestione delle dead-letter.
- Progettare e far evolvere la persistenza su MongoDB (modellazione documentale, indici, aggregazioni) e su AlloyDB/PostgreSQL (modellazione relazionale, tuning delle performance).
- Pacchettizzare i servizi come container, distribuirli e ottimizzarli su Kubernetes/GKE, garantendo adeguata osservabilità (log, metriche, tracing).
- Contribuire a pipeline CI/CD, infrastruttura-as-code (Terraform) e alle librerie condivise / golden path dell'organizzazione.
- Revisionare codice e supportare i colleghi junior tramite code review, pair programming e sessioni tecniche (brown-bag, talk).
- Indagare e risolvere problemi di produzione end-to-end, inclusi i casi che attraversano confini di servizi e team.
Esperienza richiesta
Si richiedono 5-10 anni di esperienza hands-on nello sviluppo software in ambienti di produzione, con ruolo di Software Engineer backend su sistemi distribuiti.
Qualifiche, competenze e conoscenze tecniche
- Java moderno (17/21/25): concorrenza, performance JVM, memory model e testing.
- Esperienza produttiva con framework per microservizi (preferibile Quarkus; alternativi Spring Boot, Micronaut, Helidon) e disponibilità a riqualificarsi su Quarkus se necessario.
- Kafka in produzione: gestione producer/consumer, partizionamento, consumer group, schema registry, idempotenza, DLQ. Conoscenza di Confluent Platform/Confluent Cloud considerata un plus.
- Esperienza con database documentale (forte preferenza per MongoDB) e database relazionale compatibile PostgreSQL (AlloyDB, Cloud SQL, Aurora, PostgreSQL).
- Competenze cloud-native: Docker, Kubernetes, Helm e esperienza con almeno un hyperscaler in produzione (forte preferenza per GCP; AWS o Azure accettabili con disponibilità al trasferimento).
- Cultura dei sistemi distribuiti: CAP, eventual consistency, idempotenza, retry/back-off, outbox/messaging transazionale, saga/coreografia, CQRS.
- CI/CD e DevEx: Git, progettazione di pipeline, strategie di testing automatizzato (unit, integration, contract, end-to-end), infrastructure-as-code (Terraform).
- Osservabilità: logging strutturato, metriche, distributed tracing (OpenTelemetry) e capacità di debug in produzione.
Requisiti preferenziali: esperienza con Quarkus nativo/GraalVM, GCP (GKE, AlloyDB, Pub/Sub, Cloud Run, IAM), Confluent Platform/ksqlDB/Kafka Streams/Flink, Domain-Driven Design, esperienza su ecosistemi di microservizi su larga scala, esperienza in settori regolamentati (servizi finanziari, assicurazioni, telco, sanità), security-aware development (OAuth2/OIDC, gestione segreti, threat modelling), esperienza in ambito bancario/pagamenti, contributi open-source o attività pubbliche tecniche, migrazione di workload legacy/mainframe e familiarità normativa (DORA, PSD2, GDPR) da un punto di vista ingegneristico.
Chi siamo
Siamo il primo gruppo bancario in Italia e tra i principali in Europa: con oltre 20 milioni di clienti operiamo per una crescita sostenibile con attenzione all'ambiente e all'impatto sociale. Mettiamo le persone al centro, promuovendo una cultura inclusiva in cui tutti si sentono valorizzati e protagonisti.
Benefit
- Ambiente di lavoro internazionale e cultura inclusiva.
- Opportunità di crescita professionale e formazione interna (mentorship, talk tecnici).
- Impegno del Gruppo su sostenibilità e responsabilità sociale.
Requisiti
5-10 anni di esperienza hands-on come Software Engineer backend in sistemi distribuiti; forte conoscenza di Java moderno, microservizi, Kafka, database documentali e relazionali, competenze cloud-native (preferibilmente GCP), CI/CD, IaC e osservabilità.
Competenze richieste
Competenze professionali
Java (17/21/25)
Quarkus
JVM/GraalVM
Microservizi
REST
gRPC
Kafka
Avro
Protobuf
MongoDB
AlloyDB/PostgreSQL
Docker
Kubernetes (GKE)
Helm
Terraform
CI/CD
Git
OpenTelemetry
Logging e Metrics
Competenze trasversali
Lavoro di squadra
Mentoring e formazione
Problem solving
Comunicazione
Capacità di debugging in produzione