🇮🇹 Sviluppatore Rails · soluzioni web su misura
Development loop: Idea → Analyze → code → Ship → Feedback → Iterate → Analyze Idea Analyze <code> Ship Feedback Iterate
"Done is better than perfect"

Rilasciare software funzionante, raccogliere feedback reali e iterare è meglio che aspettare la soluzione perfetta che non raggiunge mai gli utenti.
Mi piace costruire cose che funzionano, scrivere codice di cui andare fiero e rilasciare software che sia effettivamente utile alle persone.

..beh, in giro c'è anche del codice di cui non vado _proprio_ fiero.. ma nessuno sa dov'è! :P

Nato e cresciuto a Biella, una piccola città vicino a Torino, ma ormai a Novara da qualche anno. Costruisco applicazioni web da (2*8 - 1) anni per passione e, beh, per comprare cibo e altre cose utili a.. vivere!

Lontano dalla tastiera gioco a pallavolo (prima o poi finirò ad allenare?) e nel tempo libero mi perdo in lunghe passeggiate in montagna con mia moglie e Pizza, il nostro cane.. il code reviewer più esigente che abbia mai conosciuto!

08/2017 - oggi

Senior Software Developer

Freelance

Applicazioni web su misura per aziende di settori diversi - dalle piattaforme real-time ai visualizzatori 3D di prodotto, fino a strumenti interni, crawler e sistemi di formazione (LMS). Principalmente su Ruby on Rails, con pieno controllo dall'analisi all'implementazione e al rilascio.

05/2024 - 06/2024

Tutor di Formazione

Develhope

Ho affiancato un gruppo di sviluppatori junior su JavaScript, TypeScript, Node.js e database relazionali.

07/2018 - 10/2023

Senior Dev / Tech Lead

SignalWire Inc.

Ho guidato lo sviluppo degli SDKs WebRTC e Real-Time (TypeScript, Node.js, Ruby, PHP, Python), con una conoscenza approfondita dell'intero stack WebRTC. Ho fatto crescere e coordinato un team di 3 ingegneri. Sviluppato un'app per la gestione di ufficio remoto stile Zoom/Meet e una libreria di Web Component low-code per la videoconferenza.

06/2011 - 08/2017

Sviluppatore Web

SoftPlace srl

I primi anni come sviluppatore full-stack - Ruby on Rails, PHP, progettazione di database, app mobile (Cordova/Ionic), API TravelPort, ElasticSearch, motore di deduplicazione dati, web crawler e responsabilità di team lead.

Il loop in cima rappresenta come lavoro ogni giorno.

Si parte da una chiacchierata

Prima di scrivere una sola riga di codice voglio capire il problema, i vincoli e l'obiettivo finale. Torno con un'idea chiara di come affronterei il lavoro.

Rilasci frequenti

Quando siamo allineati, inizia la fase di implementazione. Mi piace effettuare release con cadenze settimanali (niente attese infinite). Ogni release è qualcosa che puoi usare, testare e su cui dare feedback.

Una persona, dall'inizio alla fine

Dallo schema del database alla pipeline di deploy, tengo tutto sotto un unico tetto. Hai una sola persona con cui parlare, una sola persona responsabile del risultato.

Iteriamo

Dopo ogni release si riparte, stesso loop. Validiamo ciò che c'è, sistemiamo le priorità se serve, definiamo la fetta successiva. Il prodotto migliora a ogni ciclo e abbiamo il pieno controllo.

Sono onesto sui compromessi

Se esiste una soluzione più semplice, te lo dico. Se una scadenza è irrealistica, lo dico subito. Preferisco una conversazione scomoda all'inizio che un problema più grande dopo.

Core

Ruby on Rails
PostgreSQL
Hotwire / Turbo
Stimulus
Solid Queue / Sidekiq
WebSocket

Frontend

Tailwind CSS
ViewComponent
ERB / Slim
Web Components
Vanilla JS
React (quando serve)

Ho lavorato con

WebRTC
Stencil
Three.js
Redis
Elasticsearch
TypeScript

Infrastruttura

Kamal
Nginx
Linux / VPS
OpenTelemetry
SigNoz

Integrazioni

OAuth / OmniAuth
Stripe
Telegram
WhatsApp
Intervals.icu

Workflow

Git / GitHub
CI / CD
Docker
TDD
SOLID / Clean Code

Hai un progetto in mente o qualche domanda?
Scrivimi due righe!