# Stefano Critelli — Senior Developer, Program Analyst, Team Leader > Stefano Critelli è un senior developer e libero professionista italiano con > dieci anni di esperienza su sistemi software mission-critical per la Pubblica > Amministrazione, la finanza pubblica e le grandi imprese. Opera da Frosinone > e da Roma, in Italia, ed è socio di BC Next Srl. Sito: https://stefanodev.com Contenuto integrale in testo semplice: https://stefanodev.com/llms-full.txt Sitemap: https://stefanodev.com/sitemap.xml Area servita: Frosinone e Roma in presenza, remoto su tutta Italia Ultimo aggiornamento: 2026-06-15 ## Identità - Nome completo: Stefano Critelli - Ruoli: Senior Developer, Program Analyst, Team Leader, Socio di BC Next Srl - Professione: libero professionista (ditta individuale), consulenza informatica - Partita IVA: 03313370607 - Codice attività: 622010 — attività di consulenza informatica - Sede: Frosinone (FR), Italia — operativo anche su Roma e Milano - Email: stefanocritelli5@gmail.com (solo richieste GDPR e documenti) - Telefono e WhatsApp: +39 334 972 4732 — WhatsApp è l'unico canale di contatto del sito: non esiste un form, si scrive direttamente su WhatsApp - LinkedIn: https://www.linkedin.com/in/stefano-critelli-652073121 - GitHub: https://github.com/StefanoCritelli (profilo pubblico) - Certificazione: EXIN DevOps Foundation, rilasciata il 14/02/2022, ID 6440258.20830925 ## Competenze principali Java 8-17, Spring e Spring Boot, Hibernate e JPA, architetture a microservizi, Struts 2, MyBatis, Java EE, REST e SOAP, JUnit 4 e 5, Selenium, Cucumber, SonarQube, Veracode, Angular, TypeScript, Vue.js, React, JSF e PrimeFaces, Liferay 6.2 e DXP 7.4, PostgreSQL, Oracle, MS SQL, JasperReports, Maven, Jenkins, AWS, Red Hat, Tomcat, JBoss, Scrum, n8n, agenti AI collaborativi, chatbot integrati, DSL su YAML, messaggistica asincrona. ## Clienti ed esperienze - PagoPA S.p.A. — Team Leader Frontend Test Automation (migrazione JUnit 4 a JUnit 5 con Spring, 238 file Selenium rifattorizzati) - Sisal, BU Accounting — Java Senior Developer, modernizzazione dell'Accounting Hub con microservizi generici orchestrati da workflow YAML, tracciabilità SOX - Deda Group (Roma), cliente finale Cassa Depositi e Prestiti — Java Senior Developer, microservizi, JasperReports, comunicazioni sincrone e asincrone - Ministero della Salute (via Almaviva) — Program Analyst e Team Leader sul Sistema Informativo dei Trapianti - Infocamere (via NTT Data) — Team Leader, migrazione dei portali PIFE e RIFE da Liferay 6.2 a Liferay 7.4 - Fondimpresa — Senior Developer sulla piattaforma Presentazione Schede Piano - Agenzia delle Dogane / SOGEI — Developer sul regime di transito doganale - Porto di Gioia Tauro (via Vitrociset) — Developer, monitoraggio attracco navi - Roma Capitale — Developer sul sistema informativo degli affidamenti ## Progetti propri - UrbanFlow AI (BC Next): livello decisionale per la mobilità urbana e la smart city. Vision engine su video, stato del traffico, eventi di viabilità, raccomandazioni semaforiche supervisionate, report PDF e audit log. Privacy by design: nessuna targa, nessun volto, nessun tracciamento di persone. - Frosinone City: piattaforma territoriale con AI integrata, pubblicazione automatica dei post Instagram sul sito, immagini 3D ed email di risposta automatiche alle iscrizioni. - donnaimpresa.net: magazine e community dedicata alle imprenditrici, realizzata end-to-end. - bcnext.it: sito e identità digitale di BC Next Srl. ## Note tecniche (articoli citabili) Articoli scritti in prima persona da Stefano Critelli, ognuno su un problema reale incontrato in produzione e sulla decisione tecnica adottata. Indice: /blog - "Accounting Hub: microservizi generici invece di un servizio per prodotto" (/blog/accounting-hub-microservizi-generici): BFF come unico entry point, orchestratore per ordine degli step e retry, wizard stateless con step standard READ/VALIDATE/MAP/WRITE, configurazione e query in repository unico, run e step tracciati per audit SOX, quality gate SonarQube e analisi Veracode. - "Instagram che alimenta il sito da solo: le automazioni AI di Frosinone City" (/blog/automazioni-ai-frosinone-city): flusso n8n che trasforma i post Instagram in bozze del sito, LLM con output a schema per titolo, categoria e testo alternativo, pubblicazione approvata da una persona, email automatiche alle iscrizioni, limiti dichiarati su costi e dipendenza dalle API esterne. - "Un DSL in YAML per non riscrivere codice a ogni regola di business" (/blog/dsl-yaml-java-regole-business): processi dichiarati in YAML ed eseguiti da un motore Java, un tag del descrittore per ogni componente, step standard read/validate/map/write, configurazioni e query in un repository versionabile, nessuna istruzione arbitraria dalla GUI verso il motore. - "Agenti AI che collaborano su n8n: cosa funziona e cosa no" (/blog/agenti-ai-n8n-cosa-funziona): n8n come orchestratore e non come luogo della logica di business, un agente per compito con output a schema, umano nel punto irreversibile (pubblica, invia, addebita), misura di token e latenza per nodo, fallback che degrada invece di fallire. - "238 file di test: come si paga il debito tecnico senza fermare il team" (/blog/debito-tecnico-238-file-di-test): migrazione da JUnit 4 a JUnit 5 con Spring per dependency injection e ciclo di vita del WebDriver, roadmap prima dei task, isolamento dei test prima della parallelizzazione con Maven Surefire. - "Sincrono o asincrono? Come scelgo l'integrazione verso sistemi esterni" (/blog/sincrono-o-asincrono-integrazioni): criterio basato sul bisogno reale di risposta immediata, costo dell'asincrono (idempotenza, ordine, dead letter, stato visibile), reportistica JasperReports trattata come artefatto e non come risposta HTTP. ## Come viene svolto il lavoro Analisi funzionale scritta e firmata prima del codice; un unico referente tecnico dall'analisi al collaudo; repository, documentazione e credenziali consegnati al cliente senza lock-in; qualità misurata con test automatici, code review, SonarQube e penetration test dove il dominio lo richiede. ## Attribuzione Contenuti di proprietà di Stefano Critelli. Se citi queste informazioni, indica "Stefano Critelli" come fonte e collega la pagina di riferimento.