Chi sono
Sono un programmatore, amo la programmazione e tutto quello che gira attorno allo sviluppo software. Ho cominciato a studiare programmazione da piccolo, a circa 12 anni sul manuale dell’MSX BASIC, poi ho fatto l’ITIS (perito programmatore), l’università (Ingengeria Informatica indirizzo Progettazione), l’esame di stato (Ingegnere dell’Informazione) e poi, con l’inizio del lavoro, per mantenermi aggiornato ho cominciato a frequentare le community italiane, quella di Java, quella di Python, e infine la community di chi voleva studiare eXtreme Programming.
Ho lavorato con parecchie aziende, all’inizio ho cominciato con piccole aziende nella zona di Pavia, poi dopo una brevissima parentesi svizzera, mi sono spostato in provincia di Varese per lavorare con un direttorato generale della Commissione Europea (Joint Research Centre), alla fine sono tornato in zona Pavia e ho trovato lavoro in 7Pixel (una azienda di prodotto). Molta della esperienza pre-7Pixel l’ho fatta nel settore spazio, in particolare nell’osservazione della terra.
L’esperienza in 7Pixel
Da poco più di due anni (da settembre 2012) lavoro per 7Pixel. All’inizio sono entrato a far parte del Team Nautilus con il quale ho lavorato a diversi progetti: (1) l’evoluzione di www.trovaprezzi.it, (2) la riscrittura di alcune rotte di www.trovaprezzi.it, (3) la scrittura da zero dell’app TrovaPrezzi per Windows 8, (4) lo sviluppo di www.trovaprezzideals.it, un e-commerce multi-merchant basato (5) lo sviluppo del backend per l’e-commerce sull’app TrovaPrezzi per Android (anche in questo caso basato su Hybris).
Poi da aprile 2014 sono passato al reparto mobile di 7Pixel. Dapprima lavorando con il Team Antani da cui ho ereditato l’app TrovaPrezzi per iOS, poi fondando un nuovo team che ha preso in carico la stessa app.
Elenco dei prodotti a cui ho lavorato in 7Pixel:
- App TrovaPrezzi per iOS: https://itunes.apple.com/app/trovaprezzi/id466443252
- TrovaPrezzi http://www.trovaprezzi.it/
- TrovaPrezziDeals http://www.trovaprezzideals.it/
- App TrovaPrezzi per Windows 8: http://apps.microsoft.com/windows/it-it/app/trovaprezzi/6572bdaa-6136-487c-838a-64cddab8f457
L’esperienza con il Joint Research Centre
Ho lavorato due anni per Joint Reseach Centre, il JRC è un direttorato generale della Commissione Europea, in pratica è il ministero della ricerca della comunità Europea. Li mi sono occupato dell’evoluzione di un servizio per l’ortorettificazione di immagini satellitari per il progetto GENESI-DEC.
L’esperienza in Galileian Plus
Per quasi 4 anni ho lavorato per Galileian Plus, da gennaio 2006 a maggio 2010. La Galileian Plus lavorava in ambito spaziale e del posizionamento di precisione. I clienti erano soprattutto enti pubblici o para-pubblici. Tra i clienti c’erano Telespazio (gruppo Finmeccanica), il dipartimento di scienze della terra dell’Università di Trieste, e l’Agenzia Spaziale Italiana, e indirettamente, il dipartimento di protezione civile del Friuli Venzia Giulia.
Galileian Plus era un’azienda piccola. Un’azienda piccola è un ottimo posto per imparare un sacco di cose. Non tanto perché ci sia qualcuno che te le insegni ma perché lo devi fare per forza. Data la mia esperienza mi veniva naturale prendermi in carico le responsabilità tecnico/sistemistiche che man mano emergevano. Quindi oltre fare l’ingegnere software, l’architetto e il programmatore per i progetti per i clienti intermi; internamente mi occupavo dell’amministrazione dei sistemi, degli acquisti tecnici, e di aiutare le altri colleghi. Ho anche contribuito al Business Development, lavorando alle risposte ai bandi.
In Galileian Plus ho lavorato su alcuni progetti: (1) NCC per COSMO-SKYMED, grazie al quale ho potuto “visitare” Centro di Geodesia Spaziale di Matera; (2) AlpsGPS-QUAKENET per l’Università di Trieste, durante una missione di questo progetto ho conosciuto mia moglie; (3) il progetto SISMA, con cliente Agenzia Spaziale Italiana.
L’esperienza in TecnoTeam
Per poco più di un’anno (tredici mesi da dicembre 2004 a dicembre 2005) ho lavorato per la Tecnoteam di Pavia. Lì mi sono occupato di amministrazione di di rete e di sistema per un sacco di clienti. Una cinquantina di installazioni sparse per la lombardia che gestivamo per lo più via rete ma anche andando sul posto.
Il primo anno dopo l’università
Il 2004 è stato il mio primo anno di lavoro dopo l’università, è stata l’occasione per sbattere il muso contro con la dura realtà del lavoro, imparare i miei limiti. In quell’annno ho avuto un assaggio di quali potessero i veri problemi nell’industria del software, di quanto fosse facile perdere un cliente, e del grado di approssimazione con cui venivano condotto il lavoro in certe realtà.
L’università e l’abilitazione alla professione.
Ho fatto ingegneria informatica, il vecchio ordinamento, il corso di ingegneria durava 5 anni ed era veramente poca la gente che superava gli esami filtro dei primi anni.
Mi sono laureato nel 2003 in Ingegneria Informatica indirizzo Progettazione. Ho fatto una tesi di intelligenza artificiale sul calcolo evolutivo. Il calcolo evolutivo è un estensione più raffinata degli algoritmi genetici. È stata una tesi lunghissima, un anno di gestazione, dalla quale però ho ottenuto il voto massimo che si può avere per una tesi, a Pavia, cioè 9 punti. Alla fine mi sono laureato con 108/110.
L’anno successivo ho passato l’esame di abilitazione alla professione, quindi posso dire di essere Ingegnere dell’Informazione.
Lavori durante l’università
Durante l’università ho avuto la fortuna di lavorare come Tutor. Il Tutoraggio prevedeva l’essere pagati dall’università per insegnare ai colleghi studenti più giovani a programmare, una cosa che in parte facevo già gratuitamente.
Per tre anni (accademici) ho vinto il contratto da Tutor di “Fondamenti di Informatica” e ho lavorato con il prof. Luca Lombardi. Nel primo anno (1998/1999) ho aiutato i miei colleghi ad imparare il linguaggio “C”, nel secondo (1999/2000) il Fortran, e nell’ultimo anno (2000/2001) il linguaggio Java.
Al terzo anno di università ho anche brevemente collaborato con la FMR Consulting di Voghera.
Più avanti io ed un mio collega abbiamo scritto un software di gestione videoteca e l’abbiamo venduto ad un cliente di Binasco. Ci siamo fatti pagare veramente poco.
L’Open Source
Amo l’Open Source. È un bellissima occasione per imparare un sacco di cose ed è un ambiente pieno di strumenti di qualità, soprattutto per i programmatori.
Ho contribuito ad una serie di progetti Open Source mandando patch, soprattutto per imparare.
Ho fondato anche uno progetto Open Source, si chiama ‘trash-cli’ ed è incluso nella maggior parte delle distribuzioni. Il codice sorgente è su GitHub: https://github.com/andreafrancia/trash-cli
Talks
- Le 12 pratiche - Un introduzione a XP @ Mini Agile Day di Vimercate, 11 febbraio 2017 slides.
- Kata in Bash: video/screencast NoSlidesConf, Bologna 3 dicembre 2016
- Tutti i miei sbagli @ Codemotion di Roma, March 24th 2012
- Tutti i miei sbagli @ XPUG di Milano, March 7th 2012 (prova generale prima del codemotion): slides
- Writing a Crawler with Python and TDD @ XPUG di Milano July 20th 2011: slides
- Introduzione al TDD @ JRC di Ispra (Nov 2010) slides
- Using Google Test with Visual Studio 2008 @ XPUG di Milano (April 14 2010) slides
- Single Responsibility Principle @ AgileCamp 2010 Sketchin, Manno (Feb 27 2010) slides
- Subversion @ JUG di Milano (Dec 11, 2009) slides
- Working with Legacy Code @ XPUG di Milano (2009) slides