Matteo D'Urso · software developer & product engineer

Software per problemi reali.Dal prodotto ai sistemi connessi.

Progetto applicazioni, automazioni e integrazioni che possono estendersi dal software all’infrastruttura, Linux/edge e dispositivi quando il problema lo richiede. Collaborazione diretta, decisioni verificabili e soluzioni pensate per evolvere.

Solido

Una base affidabile, testabile e semplice da mantenere.

Orientato al risultato

Flussi e funzioni partono dal problema da risolvere, non dallo stack da utilizzare.

Verificabile

Decisioni motivate, limiti espliciti e progressi che possono essere controllati.

Adattabile

Applicazione, backend, infrastruttura ed edge vengono combinati solo quando servono davvero.

Modalità di ingaggio

Il punto di partenza dipende da quanto è già chiaro

01

Analysis / Architecture Sprint

Per chiarire problema, requisiti, vincoli, rischi e architettura prima di investire nello sviluppo, con un output delimitato e utilizzabile.

02

Development Sprint

Per realizzare un obiettivo tecnico definito — una feature, un’automazione, un’integrazione, una dashboard, un’API o una porzione di prodotto — con criteri di verifica espliciti.

03

Progetto end-to-end

Per seguire un sistema dal problema alla distribuzione, coordinando UX, software, backend, dati, infrastruttura ed edge quando il contesto lo richiede.

Dal problema a un sistema che funziona davvero

Lavoro con professionisti, imprese, startup e team tecnici per trasformare esigenze operative, processi manuali e idee di prodotto in software manutenibile e verificabile.

Il perimetro può fermarsi a un’applicazione o estendersi a backend, API, automazioni, infrastruttura Linux, edge e integrazione con dispositivi. La soluzione viene costruita attorno al problema, non attorno a una tecnologia scelta in anticipo.

Esperienza tecnica e contesto operativo

Il mio percorso unisce sviluppo software ed esperienza diretta in sistemi elettrici, fotovoltaico, illuminazione pubblica, telecontrollo, dispositivi connessi, server e reti.

Questo contesto aiuta a riconoscere vincoli che spesso emergono solo nell’uso reale: dati incompleti, connettività, permessi, errori, manutenzione, deployment e interazione tra software e infrastruttura fisica.

Dall’analisi alla verifica

  1. Comprendere il problema, gli utenti e il risultato atteso.
  2. Definire scope, vincoli, rischi e priorità.
  3. Scegliere architettura e tecnologie in funzione del contesto.
  4. Sviluppare per fasi con risultati verificabili.
  5. Testare anche errori, recovery e condizioni operative reali.
  6. Distribuire, documentare e pianificare supporto, manutenzione o evoluzione quando necessarie.

Nuovo progetto

Partiamo dal problema da risolvere.

Condividi obiettivi, vincoli e situazione attuale. La prima valutazione serve a capire se conviene partire da un Analysis / Architecture Sprint, da un Development Sprint o da un progetto end-to-end. Supporto, manutenzione ed evolutive possono seguire quando hanno un perimetro operativo chiaro.

Parlami del tuo progetto