Leadership

Far crescere persone e team in maniera sostenibile.

  • People

    Credo nel far crescere le persone attraverso mentoring e condivisione: faccio code review su ogni PR e lavoro in pair e mob programming con il team.

    • Mentoring

      Faccio da mentore a diversi colleghi in 20tab; in Dunbar ho seguito direttamente onboarding e mentoring di tutto il team tecnico.

    • Selezione del personale

      Partecipo alla selezione di nuovi sviluppatori in 20tab; in Dunbar gestivo direttamente selezione e onboarding.

      • Crescita del team

        In Dunbar ho portato il team tecnico da 3 a 12 persone in circa 3 anni, e con il team è cambiata l'offerta dell'agenzia: da pochi siti WordPress a sviluppo custom.

    • Formazione interna

      Nel tempo dedicato al learning presento a tutti i team, non solo al mio, come ho affrontato nuovi problemi e introdotto nuovi standard.

  • Finance

    Tengo insieme la parte tecnica e quella economica: dalle stime per offerte e gare ai conti dell'azienda.

    • Gestione del P&L

      Ho progettato e sviluppato Mars, l'ERP interno di 20tab, che gestisce il P&L (conto economico) dell'intera azienda.

      • Team management

        Gestisco il team anche dal punto di vista economico: persone sui progetti e costi.

Sviluppo software

Progettare e costruire software solido, dall'architettura ai dati.

  • Python

    Il mio linguaggio principale: ci ho costruito API, applicazioni web e Mars, l'ERP interno di 20tab.

    • Django

      Uso Django da Dunbar a oggi in 20tab.

      • Wagtail

        Uso Wagtail, il CMS basato su Django, quando un progetto deve gestire contenuti.

    • FastAPI

      Ho introdotto FastAPI in 20tab e definito come usarlo nei progetti.

    • Pydantic

      Lo uso per descrivere e validare i dati, dalle API FastAPI alle configurazioni.

  • Database

    Progetto e uso database relazionali, dalla modellazione dei dati alla migrazione da sistemi precedenti, come per la versione 2.0 di KnowledgeShare.

    • MySQL

      Progetto schemi e scrivo query su MySQL.

    • PostgreSQL

      Il database dei progetti in 20tab.

      • PostGIS

        Estensione di PostgreSQL per i dati geografici: la uso quando un progetto lavora con mappe e coordinate.

    • SQLAlchemy

      Con FastAPI uso SQLAlchemy in modalità asincrona.

    • SQLite

      Per prototipi, test e applicazioni leggere che non hanno bisogno di un server.

  • Architettura

    Guido le scelte tecniche e l'architettura del team: ho progettato Mars, l'ERP interno di 20tab, e l'architettura della nuova offerta di Data Governance.

    • Clean code

      Scrivo codice facile da leggere e da cambiare: nomi chiari, funzioni piccole, niente duplicazioni. La code review su ogni PR aiuta a tenerlo così.

    • Clean Architecture

      Separo il dominio dai dettagli (framework, database, servizi esterni), così il cuore del software resta testabile e indipendente.

    • Integrazione API

      Collego sistemi diversi attraverso le loro API: Mars integra Factorial, Taiga e Fatture in Cloud ed è l'unica fonte di verità dei dati aziendali.

Agile

Lavorare a piccoli passi, con qualità e una direzione chiara.

  • Scrum

    In Dunbar ho introdotto Scrum da zero, con tutte le cerimonie; in 20tab guido le scelte tecniche di un team Scrum multifunzionale di 6 persone.

  • Testing

    Test automatici su tutti i progetti, con copertura al 100%: in 20tab ho introdotto pytest, definito come usarlo e lavoro per rendere il testing sempre più rapido e snello.

    • BDD

      In 20tab lavoriamo in BDD: i comportamenti attesi diventano scenari da verificare.

      • Gherkin

        Scrivo gli scenari BDD in Gherkin (Given, When, Then), così requisiti e test parlano la stessa lingua.

      • Pact testing

        Uso il contract testing con Pact per verificare che servizi diversi continuino a parlarsi correttamente.

    • TDD

      In 20tab lavoriamo in TDD: prima il test, poi il codice che lo fa passare.

      • Unit testing

        Scrivo test unitari con pytest come base del TDD, con copertura al 100% su tutti i progetti.

      • Integration testing

        Verifico che i pezzi funzionino insieme, database e servizi esterni compresi.

      • E2E testing

        Verifico i flussi completi dal punto di vista di chi usa l'applicazione, dall'interfaccia ai dati.

  • Roadmap

    Trasformo obiettivi e richieste in un piano di lavoro: in 20tab seguo la parte tecnica di bandi e gare, con documentazione, architettura proposta e stime.

    • User story mapping

      Uso lo user story mapping nell'analisi e ho sviluppato un plugin per Claude Code che genera user story map, riducendo i tempi di analisi del team.

    • Stime

      In Dunbar ho definito con il team un sistema di stima con planning poker: nell'anno e mezzo successivo nessun progetto è uscito da tempi o budget.

    • No estimate

      Quando stimare costa più di quanto serve, preferisco dividere il lavoro in storie piccole e simili e misurare il flusso.

DevOps

Portare il software in produzione e tenerlo in piedi.

  • Linux

    Lavoro su Linux sia in sviluppo sia sui server.

    • Shell

      Uso la riga di comando ogni giorno, per lavorare più in fretta e automatizzare.

      • Bash

        Scrivo script Bash per automatizzare installazioni, rilasci e manutenzione.

  • Cloud

    Porto e faccio girare il software sul cloud: in 20tab lo stack dei progetti comprende Docker e Kubernetes, in Dunbar ho guidato la migrazione dell'intera infrastruttura.

    • DigitalOcean

      In Dunbar ho guidato la migrazione dell'intera infrastruttura su DigitalOcean.

    • AWS

      Uso i servizi principali di AWS per ospitare e far girare applicazioni.

  • Monitoraggio

    In Dunbar, con la migrazione su DigitalOcean, ho introdotto il monitoraggio: i problemi emergono ai primi segnali.

    • Zabbix

      Monitoro server e servizi con Zabbix, con allarmi quando qualcosa non va.

    • PostHog

      Analytics di prodotto: lo sto introducendo per capire come vengono usate le applicazioni.

    • OpenTelemetry

      Tracce e metriche con lo standard OpenTelemetry: lo sto approfondendo.

  • Disaster recovery

    In Dunbar ho introdotto il disaster recovery: l'infrastruttura è rimasta stabile anche dopo la mia uscita.