IBM
Senior Full-Stack Developer · Applicazioni enterprise e integrazioni AI
In IBM mi occupo di applicazioni enterprise e integrazioni di intelligenza artificiale. La mia esperienza comprende sviluppo full-stack, servizi backend e integrazione tra sistemi, con progetti nel settore bancario e nelle telecomunicazioni.
Accanto allo sviluppo applicativo, supporto le persone che entrano nei nostri team. Ho aiutato nuovi colleghi a orientarsi nei processi aziendali e definito percorsi di apprendimento che collegano la preparazione tecnica ai progetti su cui lavoreranno.
01.1 / APPLICAZIONI ENTERPRISE
Settore bancario
Solution Architect — Piattaforma di conformità AML
Banca centrale
La vigilanza antiriciclaggio non ammette dati «probabilmente corretti»: questa piattaforma è costruita intorno a tale vincolo, dall’inizio alla fine.
- Analisi di un sistema legacy privo di documentazione — schema dati, integrazioni e logica di business — prima di scrivere nuovo codice
- Guida della migrazione da JBoss 7 a JBoss EAP 8 / Java 21 su 7 moduli interdipendenti della piattaforma
- Progettazione della generazione PDF e dei flussi di importazione massiva dei dati (Thymeleaf + Flying Saucer, Apache Commons CSV)
- Realizzazione di un sistema in uso attivo, con oltre 500 transazioni elaborate in UAT senza violazioni dell’integrità dei dati
Leggi la storia completa
Costruire una piattaforma AML senza nessuno a cui chiedere.
Solution Architect su una piattaforma di conformità normativa per la vigilanza antiriciclaggio presso una banca centrale.
Partire senza documentazione
Sono entrato nel progetto come unico sviluppatore, senza passaggio di consegne né documentazione. Prima di scrivere nuovo codice ho dovuto ricostruire il funzionamento del sistema legacy: lo schema del database, i punti di integrazione e la logica di business, per capire cosa facesse già il sistema.
Le decisioni che ho dovuto prendere in autonomia
Due scelte sono state particolarmente importanti. Per i PDF normativi sono passato dalla costruzione procedurale dei documenti al rendering con Thymeleaf e Flying Saucer, più semplice da mantenere e da presentare agli interlocutori non tecnici. Per l’elaborazione massiva dei dati ho adottato Apache Commons CSV invece di un parser personalizzato, valutando il compromesso tra controllo e costi di manutenzione. Ho inoltre guidato la migrazione dei moduli principali da JBoss 7 a JBoss EAP 8 su Java 21, risolvendo conflitti tra classloader e cambiamenti dei namespace Jakarta su sette moduli interdipendenti: un lavoro meticoloso quanto sembra.
Il confronto diretto con il cliente
Tra me e i referenti della banca non c’era un team di prodotto. Presentavo direttamente mockup e demo, spiegavo in termini accessibili i compromessi tecnici e adattavo ogni volta il progetto ai loro riscontri.
A che punto è il progetto
Dopo circa un anno, il sistema è in sviluppo attivo e ha elaborato oltre 500 transazioni nei test di accettazione utente, senza violazioni dell’integrità dei dati.
01.2 / INTEGRAZIONI AI
Telecomunicazioni
Sviluppatore backend e amministratore DB — Assistente vocale AI
3 anni e mezzo
Garantire l’affidabilità di un assistente vocale AI per un servizio clienti su scala nazionale richiedeva tanto lavoro sui database e sull’infrastruttura quanto sull’assistente stesso.
- Sviluppo backend e amministrazione database per un assistente vocale basato su IBM watsonx presso uno dei maggiori operatori di telecomunicazioni italiani
- Guida di una migrazione di 3 mesi dal database operativo dei flussi a un database Analytics federato, con routine PL/SQL per trasferire e rimodellare i dati a supporto di compatibilità e prestazioni delle dashboard
- Individuazione e risoluzione di un memory leak critico prima di un’interruzione in produzione; introduzione di circuit breaker Resilience4j, riducendo il tasso di errore della piattaforma da circa il 12% a meno del 3%
- Guida del refactoring del database durante la migrazione cloud (indici su tabelle di audit con oltre 500 milioni di record, connection pooling e partizionamento), riducendo i tempi di esecuzione delle query dell’85% e l’utilizzo CPU del database del 60%
Leggi la storia completa
La notte in cui un memory leak ha quasi fermato il servizio clienti.
Per tre anni e mezzo ho lavorato come sviluppatore backend e amministratore database su un assistente vocale basato su IBM watsonx per uno dei maggiori operatori di telecomunicazioni italiani.
Un problema individuato prima del blocco
Durante il monitoraggio ordinario ho notato un andamento anomalo: consumo di RAM crescente, picchi di CPU nelle ore di punta e query sempre più lente. La causa era un modulo che apriva connessioni al database senza chiuderle correttamente, rischiando di bloccare il sistema da cui dipendevano le interazioni vocali con i clienti. Ho coordinato l’arresto controllato del servizio interessato, corretto il ciclo di vita delle connessioni e aggiunto soglie di timeout per inattività, senza fermare la piattaforma. In seguito ho promosso il monitoraggio continuo dei pool di connessioni come pratica ordinaria e introdotto circuit breaker con Resilience4j, portando il tasso di errore complessivo da circa il 12% a meno del 3%.
Migrare al cloud ha richiesto di rivedere le ipotesi iniziali
Nel passaggio dall’infrastruttura on-premise a IBM Cloud sono emerse inefficienze negli accessi al database che prima non erano visibili. Le alternative erano tre: lift-and-shift, refactoring dello schema o riscrittura del livello di orchestrazione. Ho sostenuto il refactoring sulla base dei dati reali di esecuzione: query oltre gli 8 secondi diventavano colli di bottiglia sistematici e connessioni inefficienti rischiavano di aumentare significativamente i costi infrastrutturali. Il lavoro su indici mirati per tabelle di audit con oltre 500 milioni di record, connection pooling, partizionamento e riscrittura delle query ha ridotto i tempi di esecuzione dell’85% e l’utilizzo CPU del database del 60%.
Un’altra migrazione, una sfida diversa
In tre mesi ho guidato la migrazione dal database operativo dei flussi a un database Analytics federato, sviluppando routine PL/SQL per trasferire e rimodellare i dati, garantendo compatibilità ed efficienza per le dashboard di visualizzazione a valle.
Stack: Java Spring Boot, Node.js, TypeScript, IBM Watson Assistant, IBM Voice Gateway, Oracle Database, DB2, PL/SQL, Redis, Google Pub/Sub, Resilience4j, Docker, Kubernetes, Jenkins.
01.3 / STRUMENTI INTERNI
Sviluppatore backend — Assistente AI interno
IBM Consulting FutureNow Center ITALY
Le stesse competenze di integrazione che uso per l’AI rivolta ai clienti, applicate a un pubblico più vicino: il team con cui lavoro ogni giorno.
- Contributo a un assistente AI interno integrato in Slack, con backend Spring Boot e IBM WatsonX Assistant per supportare le attività quotidiane del team
- Focus sul livello di integrazione tra AI conversazionale, Slack e servizi backend
- Riconoscimento interno presso IBM Consulting FutureNow Center ITALY
Leggi la storia completa
Costruire l’assistente che i colleghi usano davvero.
Ho contribuito a un assistente AI interno per il mio team in IBM Consulting FutureNow Center ITALY.
L’assistente è presente dove il team lavora già: in Slack. Combina un backend Spring Boot con IBM WatsonX Assistant per rispondere alle domande e supportare le attività quotidiane, evitando ai colleghi di dover cercare ogni informazione nella documentazione interna.
Il mio contributo si è concentrato sull’integrazione delle capacità conversazionali con Slack e con i servizi backend: lo stesso lavoro applicativo che caratterizza gli altri miei progetti AI, questa volta rivolto ai colleghi anziché a un cliente esterno.
Il progetto ha ricevuto un riconoscimento interno presso IBM Consulting FutureNow Center ITALY. È uno degli esempi più chiari del mio approccio: inserire l’AI in un flusso di lavoro concreto, anziché trattarla come una funzionalità isolata.
01.4 / PERSONE E PREPARAZIONE AI PROGETTI
Aiutare i nuovi colleghi a orientarsi.
Inserimento in azienda e percorsi strutturati di formazione tecnica.
I primi passi in azienda
Ho aiutato i nuovi colleghi a orientarsi tra procedure amministrative interne e processi aziendali. La prima parte di questo supporto era pratica: comprendere i passaggi organizzativi necessari per inserirsi in un nuovo ambiente di lavoro.
Prepararsi al lavoro sui progetti
Ho inoltre definito percorsi di studio strutturati per aiutare i candidati ad acquisire le conoscenze necessarie ai progetti in arrivo. L’obiettivo era collegare l’apprendimento al lavoro futuro, così da entrare nel team con una preparazione adeguata e una direzione professionale chiara.
Perché conta nel mio lavoro
Il software viene costruito dai team. Supportare l’ingresso di un collega in azienda e la sua preparazione tecnica è un altro modo in cui contribuisco al gruppo, accanto al codice applicativo che sviluppo.




