Senior Software Engineer
Senior

Intesa Sanpaolo S.p.A.'s logo

Intesa Sanpaolo S.p.A.

Milano, Milano, Lombardia, Italia

Di persona

Contratto a tempo indeterminato

Finanza e Assicurazioni

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