Competenze

Competenze e stack

Quello che faccio davvero, raccolto attorno ai tre pilastri del metodo. Le tecnologie restano tag secondari. Dove un articolo del blog rende concreta la competenza, il link è lì accanto.

Organizzate per metodo, non come parata di loghi.

01

Progettare

5 aree

Le decisioni architetturali più costose da cambiare in corsa. Dove concentro l'attenzione prima di scrivere codice.

Architetture event-driven

Sistemi asincroni con contratti espliciti, gestione dell'ordine e strategie di recovery.

Kafka RabbitMQ Pekko Schema Registry
Approfondisci: Leggi la serie su Kafka

API design e contratti tra servizi

Progettare le interfacce tra servizi perché possano evolvere senza rompersi a vicenda.

REST gRPC OpenAPI AsyncAPI

Sistemi distribuiti

Quando un monolite è la scelta giusta, quando i microservizi non lo sono, sincrono vs async con i tradeoff sul tavolo.

Monolite modulare Microservizi CQRS

Domain modeling e scelte tecnologiche con tradeoff espliciti

Decisioni tecnologiche giustificate dai vincoli che risolvono, non dall'hype del momento.

DDD Bounded context State machine
Approfondisci: Modellare con macchine a stati

Performance e scalabilità come requisiti di design

Trattate come vincoli dal giorno uno, non come ottimizzazioni a posteriori.

Benchmarking Profili di carico Capacity planning
Approfondisci: Benchmark .NET 8
02

Verificare

6 aree

Sapere che il sistema funziona davvero: sotto carico, sotto attacco, nel tempo. Senza questo, l'automazione amplifica solo i guasti.

Observability

Trace, metriche e log correlabili. SLO, burn-rate alert, segnali che contano davvero.

OpenTelemetry Prometheus Grafana Tempo
Approfondisci: Burn-rate alert multi-window

Testing funzionale end-to-end

Test che esercitano il sistema come gli utenti reali, abbastanza deterministici da girare in CI.

Playwright Page Object Model Network mocking
Approfondisci: Guida completa al testing E2E

Performance testing

Profili di carico legati al traffico reale, regressioni intercettate prima degli utenti.

k6 Load testing Validazione SLO

Autenticazione e autorizzazione

Identità e permessi progettati una volta, applicati ovunque, service-to-service incluso.

Keycloak OpenFGA OAuth 2.0 OIDC
Approfondisci: Concetti di Zanzibar/OpenFGA

Security analysis

Analisi statica e dinamica, dependency scanning, threat modeling sui flussi che contano.

SAST DAST SCA Threat modeling

Coerenza architetturale nel tempo

Guardrail perché il sistema progettato sia ancora il sistema che hai un anno dopo.

ADR Fitness function Test architetturali
03

Automatizzare

4 aree

Solo dopo aver progettato e verificato. L'automazione amplifica tutto quello che le sta sopra, errori compresi.

CI/CD

Pipeline che falliscono rumorosamente sulle cose giuste, rilasciano in sicurezza sulle altre.

GitHub Actions GitLab CI Quality gate
Approfondisci: Strategie CI/CD avanzate

Container orchestration

Kubernetes quando ne vale il costo, con le astrazioni di piattaforma per non bruciare i developer.

Kubernetes Cluster API Helm
Approfondisci: Serie Cluster API

Infrastructure as Code

Infrastruttura riproducibile e revisionabile, con il percorso di recovery incluso.

Terraform OpenTofu Ansible

GitOps

Git come fonte di verità dello stato di deploy, drift intercettato automaticamente.

Argo CD Flux Kustomize

Vuoi metterlo in pratica?

Se qualcosa qui sopra corrisponde a quello che stai affrontando, il modo più rapido per partire è una discovery call di 30 minuti.