Curriculum Vitæ
Europass
Informazioni personali
Cognome/i Nome/iNastasi Matteo
Indirizzo/i15, via Silvio Pellico, 24124, Bergamo, Italia
Telefono/i
Emailnastasi@alternativeoutput.it
NazionalitàItaliana
Data di nascita26/06/1974
SessoMaschile
Esperienza professionale
Date03/2012 - oggi
Funzione o posto occupatoSenior Software Engineer.
Principali mansioni e responsabilitàMiglioramento delle architetture, consolidamento della infrastruttura di sviluppo, package management, crescita del team di sviluppatori
Nome e indirizzo del datore di lavoroGEM - Global Earthquake Model Fundation, 1, via Ferrara, 27100 Pavia.
Tipo o settore d'attivitàLa mission della fondazione è creare e diffondere standard aperti e uniformi per calcolare e comunicare informazioni sul rischio sismico su scala globale.

Date10/2011 - 03/2012
Funzione o posto occupatoSenior Software Engineer - Database Replication Specialist.
Principali mansioni e responsabilitàAnalisi, implementazione e mantenimento della replica geografica di un DBMS Mysql. Attualmente segue la fase di analisi di un software che svolga il ruolo di 'transformer' tra due basi dati di generazioni diverse per consentirne l'avvicendamento e minimizzando il down del servizio.
Sviluppo di un crawler in python per la verifica di regressioni delle web-application e dei siti aziendali.
Nome e indirizzo del datore di lavoroLucini & Lucini Communications Europe, 5, V.le Libertà, 23875 Osnago (Lecco).
Tipo o settore d'attivitàAzienda leader nel e-mail marketing, opera a livello globale garantendo la consegna di circa 61 milioni di e-mail ogni giorno.

Date08/2003 - 9/2011
Funzione o posto occupatoSenior Software Engineer - Team Leader.
Principali mansioni e responsabilitàProgettazione e sviluppo del software che espone le funzionalità multimediali dell'hardware utilizzato nel prodotto ad alto livello, offrendo più in generale servizi alle applicazioni utente che con esso si interfacciano; sviluppata in C e C++ per più piattaforme embedded, tale applicazione è basata su un'architettura multi-threading ed object-oriented.
Supervisione del team di sviluppatori dedicato a questo programma.
Ha collaborato alla costituzione dei processi aziendali per la gestione di tutto il ciclo di vita del software (specifiche, versionamento dei sorgenti, sistema di build, rilasci, testing, amministrazione dei bug).
Responsabile del sistema di versioning dei sorgenti e dei rilasci dell'applicativo.
Durante quest' attività sono stati effettuati porting del software alla piattaforma Broadcom - prima Sigma Design e VWeb - sempre minimizzando le differenze di comportamento delle API esposte a fronte di hardware eterogenei.
Sono state acquisite ed utilizzate dai vari team metodologie di sviluppo Agile (XP, scrum, pair programming ... ).
In
2008 - 2011: ha avuto la mansione di team leader e software architect partecipando al disegno delle nuove funzionalità, coordinando i lavori con gli altri team e facendo da interfaccia con il project manager.
2005 - 2008: ha ricoperto il ruolo di senior developer e oltre a sviluppare codice ha partecipato alla selezione e curato la crescita dei nuovi membri del team.
2003 - 2004: come sviluppatore ha curato la progettazione e lo sviluppo del middleware multimediale, costruendo da zero tutte le infrastrutture software necessarie (librerie, sistema di versionamento, etc).
Nome e indirizzo del datore di lavoroTVBLOB S.r.l. 9, Via Paisiello, Italia - 20131 Milano.
Tipo o settore d'attivitàSoftware house volta alla creazione di prodotti e servizi per sfruttare attraverso la televisione (con hardware ad-hoc) le potenzialità della banda larga per video-comunicazione, IPTV e applicazioni sia centralizzate, sia peer to peer.

Date01/2002 - 08/2003
Funzione o posto occupatoAnalista Programmatore.
Principali mansioni e responsabilitàMembro del gruppo di ricerca e sviluppo. Ha progettato e realizzato un applicativo grafico per la customizzazione di pagine web orientate alla fruizione di video streaming o video on demand.
Ha progettato, sviluppato e finalizzato un sistema composto da un video-server con 4 telecamere poste su un palo a 90° l'una dall'altra ed una centralina meteo.
Tale apparato permetteva di scaricare ogni 5 minuti, dalle località montane dove era installato, i 4 fotogrammi e i dati meteo su di un server centrale.
Una volta giunte le immagini venivano processate per minimizzare differenze di forma e colore in prossimità delle linee di giunzione con quelle contigue e infine assemblate sulle facce interne di un cubo virtuale al cui centro era posto l'osservatore per generare un panorama immersivo a 360°.
Dati e panorama 360° erano fruibili agli utenti Web attraverso un applet Java di navigazione raggiungibile attraverso un sito di promozione turistica.
Nome e indirizzo del datore di lavoroDigital Identity S.r.l., 29, Via Bellini,Italia - 20095 Cusano Milanino (MI).
Tipo o settore d'attivitàAzienda leader in Italia nel settore dello streaming video.

Date09/1998 - 12/2001
Funzione o posto occupatoAnalista Programmatore.
Principali mansioni e responsabilitàSviluppo dei motori per il supporto dei protocolli HTTP, Telnet, FTP ed SMTP lato client per un programma di comunicazione su rete/seriale, sviluppo di un motore di wiki per poi passare nel team di produzione degli applicativi venduti ed utilizzati dall'azienda.
Nome e indirizzo del datore di lavoroDynamica S.r.l., 7, Via Sidoli, Italia - 20129 Milano.
Tipo o settore d'attivitàAzienda che opera nel settore informatico da oltre 15 anni con importanti risultati nel campo delle transazioni d'ordine tra grossisti e dettaglianti.

Istruzione e formazione
Date11/1993 - 06/1996
Principali materieFisica, Analisi Matematica.
Nome e tipo d'istitutoUniversità degli Studi di Pavia corso di laurea in Fisica.

Date09/1988 - 06/1993
Certificato o diploma ottenutoDiploma di Perito Informatico.
Principali materieInformatica, sistemi, matematica.
Nome e tipo d'istitutoI.T.I.S. “E. Molinari”, 110/108, via Crescenzago, Italia - 20132, Milano.
Livello nella classificazione nazionaleIstruzione secondaria di 2° grado.
Capacità e competenze professionali
Madrelingua/eItaliana.
Lingua
Autovalutazione
Livello europeo(*)
ComprensioneParlatoScritto
AscoltoLetturaInterazioneProduzione orale
Inglese
B2Utente autonomo
B2Utente autonomo
B1Utente autonomo
B1Utente autonomo
B1Utente autonomo
(*)Livello del Quadro europeo comune di riferimento (QECR)
Capacità e competenze relazionaliDurante gli ultimi anni ha avuto la possibilità di coordinare le persone con cui ha lavorato in team (anche straniere, principalmente da remoto essendo sparse sul territorio nazionale), di interagire con profitto con gli altri team dell'azienda e con team esterni. In questi frangenti ha sempre cercato di mantenere un giusto equilibrio tra apertura alle proposte dei collaboratori e rispetto delle linee-guida che erano state stabilite all'inizio del progetto, ma sempre pronto a recepire cambiamenti di obiettivo.
Capacità e competenze organizzativeGestione del proprio team e delle specifiche di progetto maturata negli anni, capacità di confrontarsi e pervenire a soluzioni fattive, sempre.
In altri ambiti Novembre 2002 è stato responsabile dell'evento “Linuxday@Feltrinelli” per l'Associazione Culturale MiLUG durante il quale ha acquisito competenze sull'organizzazione di un evento cittadino nei suoi vari aspetti: logistica, coordinamento, comunicazioni etc.
Capacità e competenze tecnicheSistemi Operativi: ottima conoscenza di GNU/Linux - specialmente distribuzioni Debian e Ubuntu delle quali ha appreso le tecniche di pacchettizzazione -, discreta esperienza con altri Unix e con il sistema Windows NT e successivi.
Piattaforme: buona conoscenza delle piattaforme multimediali Broadcom, Sigma Design e VWeb.
Linguaggi: ottima conoscenza dei linguaggi C e C++, discreta conoscenza di Java, conoscenze di Lisp-Scheme.
Linguaggi di Scripting: ottima conoscenza di PHP (4 e 5) e bash shell scripting, discreta conoscenza di Python, javascript, actionscript.
Linguaggi di markup: buona conoscenza di HTML (strumenti Web 2.0 compresi), CSS, XML/XSLT, SVG.
Assembly: discreta conoscenza dell'assembly Z80, MC68xxx e x86.
Toolchains: creazione ed utilizzo di ambienti per la cross-compilazione (x86 => MIPS) sotto GNU/Linux.
Basi di dati: buona esperienza nella progettazione e realizzazione di basi di dati, SQL e Procedural Language pl-pgsql dei database postgresql e Mysql, e per quest'ultimo anche conoscenza della replicazione geografica.
Versioning: buona conoscenza di git e sua gestione, buona conoscenza di cvs e sua gestione, discreta conoscenza di svn e bazaar.
Bug Management: buona conoscenza della web-application bugzilla (uso e amministrazione) per la notifica e il tracciamento dei bug segnalati dal gruppo di testing.
Strumenti di progettazione: buona esperienza dell'uso di diagrammi UML come compendio alle specifiche, conoscenze di Design Patterns e strumenti per la documentazione come Docbook e TeX/LaTeX.
Regression testing: buona esperienza nello sviluppo di ambienti per il test del software, a partire dalle singole componenti di libreria fino a riprodurre scenari complessi come situazioni atipiche di rete, dischi malfunzionanti o altro.
Protocolli di rete: nel corso degli anni ha acquisito esperienza con protocolli di rete a livello applicativo e conoscenze di packet forging.
Formati: buona esperienza nell'analisi del formato di file (CAD e formati multimediali soprattutto).
Capacità e competenze informatichePC, Sun, IBM, Amiga, Suite OpenOffice, gestione della pianificazione.
Capacità e competenze artisticheComputer grafica e fotoritocco.
Altre capacità e competenzeSocio fondatore dell'associazione culturale MiLUG (Milano Linux Users Group).
Patente/iA e B.
Ulteriori informazioni Applicazioni web online
Brisk - gioco di carte multi-utente via web: il real-time è ottenuto utilizzando un proprio push engine, sviluppato appositamente in PHP, interfacciato con il web server Apache attraverso una mia estensione del modulo apache-proxy-fdpass e un nuovo componente di php per lo scambio di socket in ambiente Linux.
http://www.alternativeoutput.it/brisk

3gates - infrastruttura web per l'autenticazione forte che utilizza la Carta Nazionale dei Servizi e le sue Certification Authority, completa della verifica e dell'aggiornamento automatico delle CRL.
https://brisk.mine.nu

Software libero
I sorgenti di alcuni progetti all'indirizzo http://www.alternativeoutput.it/git.php

Pubblicazioni
Pubblicazione sul sito ufficiale del database Postgresql dell'articolo “Avoid overlapping intervals” (2001), avente come argomento l'inibire la sovrapposizione di intervalli attraverso trigger functions.
http://wiki.postgresql.org/wiki/How_to_avoid_overlapping_intervals_with_PostgreSQL

Pubblicazione sulla rivista di cultura astronomica “L'astronomia” (n.265, Giugno 2005) dell'articolo dal titolo “Dormire sotto le stelle”, avente come argomento un software ideato e sviluppato dal sottoscritto per la ricostruzione fotorealistica e tridimensionale di parte di volta stellata sul soffitto di una camera.
http://virtualsky.alternativeoutput.it

Interessi personali
Astronomia, fisica, musica, lettura.