Mi occupo professionalmente di Software dal 1991, dopo la laurea (con lode) in Scienze dell'Informazione. Tuttavia la mia passione per la programmazione è nata ben prima, nell'ormai lontano 1978. In questo lungo arco di tempo, ho organizzato la mia attività professionale in modo da coniugare teoria e pratica, ricerca e pragmatismo.
Da un lato, lavorando costantemente a progetti reali; dall'altro, continuando la mia attività di studio e pubblicazione, come membro dell'ACM, dell'IEEE e dell'IEEE Council on Software Engineering, partecipando come speaker a conferenze, tenendo seminari nelle università, e così via.
Conosco molto a fondo gli aspetti metodologici dello sviluppo del software, dai fondamenti "storici" ai recenti risultati di ricerca, ed in molti casi ho dato un personale contributo alla disciplina stessa (si vedano, ad esempio, le mie numerose pubblicazioni ed i temi trattati nel mio blog).
Conosco però altrettanto bene gli aspetti pratici, su tutti i versanti: da quelli più tecnici di design, codifica e debugging, a quelli più rivolti al business, alla realizzazione di un prodotto di successo con i vincoli reali di tempi, costi, risorse.
Conosco bene le difficoltà concrete che si incontrano passando dalla teoria alla pratica, ed ho sperimentato molte tecniche per superarle.
Non sono un fanatico di nessuna tecnologia o filosofia di sviluppo: credo invece nella necessità di adattare tecniche e metodi ai contesti reali, comprendendo dove siamo, dove vogliamo arrivare, e cercando un percorso sostenibile per giungere alla meta. Non baso il mio lavoro sull'applicazione di schemi precostituiti: i problemi complessi richiedono soluzioni brillanti e innovative.
Credo fermamente nell'onestà intellettuale. Non prometto ciò che non è possibile mantenere. Non offro cure o strumenti miracolosi. Non cerco contratti a lungo termine: i risultati sono la migliore garanzia di un rapporto duraturo. Credo nell'assuzione di responsabilità e nella condivisione dei successi. Aspiro a creare un clima di libera generazione di idee, in cui lo sforzo è diretto a creare un sistema migliore, sotto ogni profilo (tecnico e di mercato), senza chiusure e senza preconcetti.
Scherzosamente, alcuni clienti mi hanno definito un portafortuna: quando ci sono io, i progetti funzionano meglio, le attività viaggiano più spedite, i dubbi si sciolgono più in fretta, i problemi si superano più agilmente. In realtà è il risultato di un mix di talento, esperienza e riflessione, che aiuta a capire rapidamente il reale spazio delle soluzioni, a suggerire idee nuove, tecnologie mirate, punti di vista moderni e alternativi. A capire per tempo quando stiamo andando fuori strada, ed trovare il percorso migliore per tornare in carreggiata. A comunicare con il management, rendendolo partecipe delle scelte e dei progressi ma anche delle difficoltà tecniche e delle necessita' del team.
In tutto questo, cerco sempre di stare a fianco delle persone. I sistemi moderni sono molto complessi, le competenze necessarie sono molto variegate. Pur avendo operato in moltissimi settori applicativi diversi, riconosco sempre la necessità di apprendere congiuntamente con e dal cliente. Per contro, so di poter contribuire con idee di valore, metodo, creatività, competenza profonda nell'ingegneria del software, grande esperienza nello sviluppo di applicazioni mission-critical.
Se siete interessati ad una mia collaborazione, trovate i miei riferimenti nella pagina dei contatti.