About

Background

I'm a freelance software engineer. I've been writing software professionally since 1996, and for the last decade almost only event-driven backends in Scala: Kafka, Cats Effect, AWS. Right now I'm technical lead on the device identity and authentication service at SiriusXM. I work remotely from Rome.

My path into software wasn't the usual one: I trained as a perito meccanico — a mechanical technician — before moving into engineering. That background shapes how I think about systems: tolerances, failure modes, and the difference between something that works on the bench and something that survives contact with production.

Ask an AI about my work Claude ↗ ChatGPT ↗ Perplexity ↗ Each one reads llms.txt, the plain-text version of this page.

Experience

2023 – now
Technical Lead (contract) — SiriusXM · device identity & authentication · team of five
  • Own the service that identifies and authenticates SiriusXM's device fleet, close to a billion devices. Most of them don't call it yet, and it already peaks at 7.5 million requests every two hours, around 1.5k requests per second at the top of the curve.
  • Load-tested at 40k requests per second: p95 latency under 100 ms for most of the run and never above 400 ms.
  • Runs active in three AWS regions on DynamoDB global tables and Kinesis, with steady-state latency in the low tens of milliseconds.
  • Designed and launched the new authentication stack. No major customer-facing outage since.
  • Absorbed an unplanned upstream traffic spike of over fifty times normal load without dropping requests, with latency that stayed workable.
  • Three years of features shipped without a single breaking change to the API.
2019 – 2023
Technical Lead — Kaluza (OVO Group) · foundation platform
  • Led the platform's external interfaces: GraphQL over Kafka, event webhooks and data analytics, ingesting heterogeneous Kafka topics into DynamoDB and BigQuery while keeping Avro compatibility.
  • Main contributor to the shared libraries the business ran on: a state machine over Kafka, a DynamoDB-based deduplication library, non-blocking S3 and DynamoDB clients, and the Kafka serializer DSL that became kafka-serialization.
  • Led the internal Kafka community and shaped the data strategy behind the company's distributed architecture.
2016 – 2019
Principal Software Engineer — OVO Energy · London
  • Built the multi-channel customer communication platform (email, SMS, print): one template format and one API, so product teams reach each customer on their preferred channel and ship messaging faster.
  • Helped other teams adopt event sourcing on Kafka, and published the department's open-source work.
2015 – 2016
Senior Software Engineer — QuanTemplate · London
  • Reactive distributed document store on CQRS with Akka, continuously deployed with GoCD, Ansible and Docker.
2013 – 2015
Senior Software Engineer — Expedia · London
  • Automated SEM bidding across AdWords and Bing on Scala, Akka, Kafka, Cassandra and Hadoop; before that, Hotels.com core services (geo search, autocomplete).
2011 – 2013
Senior Developer — Moreover Technologies · London
  • REST backend for Newsdesk, consumed by the mobile app and a rebuilt GWT front end.
2008 – 2010
Developer — WURFL-Pro · Rome
  • Developed and maintained the open-source WURFL API 1.0.x series and the WNG and WALL mobile web libraries; built CNN's Beijing 2008 mobile site.
Earlier
Developer and sysadmin — Circolo Canottieri Roma · 2000 – 2011, part-time
  • Where it started: Linux and Windows servers, a Java Swing and EJB management system bridged to legacy COBOL.

Stack

Languages
Scala (primary)
Runtime
Cats Effect, fs2, http4s, functional programming
Data
Apache Kafka, Avro and the Schema Registry, DynamoDB, BigQuery
Infra
AWS Lambda, DynamoDB, Kinesis, Secrets Manager, CDK

Outside of work

Competitive RC car racing, scale modeling and airbrushing, stand-up paddleboarding and freediving — plus a long-running interest in motorsport history.

Get in touch → LinkedIn ↗