Vai al contenuto
Paolo Pulvirenti

Backend Software Engineer

Paolo Pulvirenti

Costruisco servizi backend affidabili per prodotti che trattano dati delicati: fatture, dati fiscali, costi del personale.

Acireale (CT) · disponibile full remote

Foto di Paolo Pulvirenti

Chi sono

Sono un backend engineer con oltre 6 anni di esperienza su piattaforme web e microservizi. Oggi lavoro su Quickfisco, piattaforma di fatturazione elettronica e gestione fiscale per partite IVA: sviluppo microservizi in Go e Java e coordino task, rilasci e code review tra più gruppi di lavoro. Da un anno sono anche il referente della sede di Catania, 8 persone.

Fuori dal lavoro dipendente ho progettato, venduto e mantengo Presidium, un gestionale per scuole con un cliente pagante: dall’analisi del bisogno all’architettura, fino al supporto in produzione. Uso Claude Code ogni giorno, e questo sito è costruito con lo stesso metodo di un progetto di lavoro: test, CI e deploy automatico.

Esperienza

  1. Software Engineer · Quickfisco

    apr 2024 – oggi · Catania

    Piattaforma di fatturazione elettronica e gestione fiscale per partite IVA.

    • Sviluppo e manutenzione di microservizi backend in Go e Java (Spring Boot) su MongoDB, Redis e Kafka, con integrazione di API e servizi di terze parti.
    • Code review per più gruppi di lavoro, creazione e assegnazione dei task, stima e gestione dei tempi di rilascio.
    • Rilasci su staging e produzione con GitLab CI/CD e servizi containerizzati (Docker, Kubernetes), trattando dati fiscali e personali nel rispetto del GDPR.
    • Referente della sede di Catania (8 persone, da settembre 2025): organizzazione dell’ufficio, fornitori e raccordo con la direzione aziendale.
  2. Software Engineer · Madfarm

    gen 2022 – mar 2024 · Catania

    Applicazione web per la fatturazione elettronica basata su microservizi.

    • Progettazione e sviluppo di microservizi esposti tramite API REST, con architettura MVC.
    • Migrazioni, cron job, operazioni CRUD e ottimizzazione di database MongoDB e MySQL.
    • Testing funzionale, debugging e risoluzione dei conflitti di merge tra branch.
    • Raccolta dei requisiti del cliente e rilascio delle feature nei tempi concordati.

Progetti

Presidium · gestionale scolastico

Prodotto mio · cliente pagante

Problema
Il dirigente di una scuola riceve ogni mese i cedolini del consulente del lavoro in PDF, ma non ha una vista chiara di quanto costa il personale, per dipendente e per plesso.
Soluzione
Un’applicazione desktop che legge i cedolini, ne estrae i dati e mostra i costi del personale per dipendente e per plesso, mensili e annuali. Seguita end-to-end: requisiti, architettura, sviluppo, rilascio e supporto, con contratto di manutenzione.
Stack
  • Go (Beego)
  • SQLite
  • React
  • TypeScript
  • Tauri
  • Python
  • Cloudflare Workers
Home del gestionale: dipendenti in forza, buste paga del mese da inviare e grafico del netto erogato negli ultimi 12 mesi.Sezione buste paga: riepilogo dei mesi, caricamento dei PDF del consulente ed elenco dei cedolini riconosciuti.Riepilogo mensile delle presenze giorno per giorno, con legenda di ore corrette, extra e mancanti.
Versione di prova con dati fittizi; nomi e dati anagrafici oscurati.

Gift Rush

Progetto personale

Problema
Durante una diretta TikTok i regali degli spettatori passano in un attimo: chi trasmette vuole mostrarli sullo schermo in modo visibile e coinvolgente.
Soluzione
Un overlay in tempo reale per i regali delle LIVE: un servizio Node.js invia gli eventi via WebSocket all’overlay mostrato in OBS.
Stack
  • Node.js
  • WebSocket
  • OBS

Questo sito

Open source

Problema
Mi serviva un portfolio che fosse anche una prova tecnica: lo stack che dichiaro, usato davvero, con il codice pubblico da leggere.
Soluzione
Pagine statiche Astro su Firebase Hosting. Il form contatti chiama un’API Fastify su Cloud Run che valida i dati, blocca lo spam e salva il messaggio su Firestore. GitHub Actions esegue lint, test e deploy a ogni push su main.
Stack
  • Astro
  • TypeScript
  • Tailwind CSS
  • Fastify
  • TypeBox
  • Firestore
  • Cloud Run
  • GitHub Actions
  • Vitest
Architettura di questo sitoIl browser riceve pagine statiche da Firebase Hosting; solo le richieste /api arrivano al servizio Fastify su Cloud Run, che scrive su Firestore.
  1. BrowserHTML · CSS · JS minimo
  2. Firebase Hostingpagine statiche Astro
  3. Fastify · Cloud Runvalidazione · rate limit
  4. Firestoremessaggi con TTL
GitHub Actionslint · test · build → deploy su Firebase Hosting e Cloud Run
  • Pagine statiche: nessun server da tenere acceso per leggere il sito.
  • Stesso dominio per sito e API: niente CORS e nessun cookie.
  • Cloud Run scala a zero: il costo a riposo è nullo.
  • I messaggi scadono da soli dopo 12 mesi (TTL di Firestore).

Codice su GitHub ↗

Come lavoro con l’AI

Uso Claude Code ogni giorno, al lavoro e sui miei progetti. Lo tratto come un collega molto veloce: gli do contesto e vincoli chiari, e rileggo tutto quello che produce prima che arrivi in produzione.

  • Sviluppo

    Parto da un piano: descrivo il problema, faccio proporre l’approccio e i file da toccare, e solo dopo si scrive codice. Un branch per attività, commit piccoli e leggibili.

  • Refactoring

    Gli affido i cambi meccanici su molti file, come rinominare, spostare o uniformare, con la regola di non cambiare il comportamento. I test fanno da rete di sicurezza.

  • Debugging

    Gli passo log, errore e contesto e gli chiedo ipotesi da verificare una per una, non correzioni alla cieca. La correzione arriva insieme a un test che riproduce il bug.

  • Code review

    Una prima passata sul diff trova errori banali e casi limite. La review umana resta obbligatoria e si concentra su design, leggibilità e scelte di prodotto.

Come lo introdurrei in un team

  1. Un file di istruzioni condiviso nel repository, con convenzioni, comandi e zone da non toccare, versionato come il codice.
  2. Si parte da attività a basso rischio, come test, refactoring e documentazione, poi si passa alle feature.
  3. Regole chiare: niente segreti o dati dei clienti nei prompt, permessi minimi, ogni modifica passa da pull request e review umana.
  4. Brevi sessioni in cui ci si mostra i flussi che funzionano, così il metodo diventa del team e non del singolo.
  5. Si misura l’effetto su tempi di review e bug in produzione, e si tiene solo quello che funziona davvero.

Competenze

Backend
  • Go
  • Java (Spring Boot)
  • Node.js
  • PHP
  • API REST
  • Microservizi
  • Integrazioni con servizi terzi
Frontend
  • React
  • TypeScript
  • JavaScript
  • HTML/CSS
Dati e messaging
  • MongoDB
  • MySQL
  • Redis
  • Kafka
  • MinIO
DevOps e cloud
  • Docker
  • Kubernetes
  • AWS
  • GitLab CI/CD
  • Nginx
  • VPS Linux/FreeBSD
  • Cloudflare
Usati in questo sito
  • Astro
  • Fastify
  • TypeBox
  • Firestore
  • GCP Cloud Run
  • Firebase Hosting
  • GitHub Actions
  • Vitest
AI tooling
  • Claude Code: sviluppo, refactoring, debugging, code review
Metodo
  • Agile
  • Code review
  • Pianificazione e assegnazione task
  • Gestione rilasci
  • Collaborazione BE/FE
Lingue
  • Italiano madrelingua
  • Inglese B1 (lettura tecnica B2)

Contatti

Per una posizione, una collaborazione o solo per parlare di un progetto: scrivimi qui o direttamente via email.