Curriculum Vitae INFORMAZIONI PERSONALI Carlo Contavalli +1 (708) 529-9722 [email protected] ESPERIENZA PROFESSIONALE Aprile 2010 - Oggi Software Engineer Google, 1600 Amphitheater Parkway, 94043 Mountain View (CA) USA Sviluppatore Software e coordinatore della squadra responsabile di diversi componenti dello stack di rete e di bilanciamento di carico di Google (scala Tbps, e milioni di RPS). Implementato direttamente diversi componenti chiave (C++), fornito visione e direzione tecnica in termini di componenti da sviluppare, algoritmi da utilizzare, risoluzione di problemi complessi, impostazione e prioritizzazione del lavoro, nonché visione d’insieme con conoscenze di gran parte dell’ecosistema. Esperienza nel coordinare multiple squadre, in diverse organizzazioni, in diversi fusi orari, sullo stesso progetto, con gruppi di lavoro individuali da 3 a 15 persone con diverse competenze e capacità (stabilire obiettivi, metriche per il successo, distribuire lavoro, definire milestone, risorse necessarie, costruire consenso, ciclo di sviluppo, assicurarsi completamento in tempi rapidi, ...). Esperienza nel coordinare lancio e deployment di nuovi componenti software su scala mondiale (sviluppo, provisioning, qualità del software, sicurezza, coordinamento, documentazione, privacy, compatibilità). Provata capacità di consegnare prodotti funzionanti in produzione rapidamente, con risorse limitate, concentrandosi sulle esigenze reali, riducendo al minimo le dipendenze esterne, e utilizzando processi iterativi con frequenti rilasci e migliorie. Progetti individuali con risparmi annuali di XX M $ e/o che hanno consentito lancio di progetti con XX M $ di revenue. Risultati di rilievo: Principale ideatore di una architettura software per la gestione del traffico di rete con benefici diretti in termini di costo, latenza, e banda a disposizione, ora alla base di diversi servizi. Uno dei maggiori proponenti dell’iniziativa http://www.afasterinternet.com, e tra i primi autori ed ideatori di RFC7871, adottata dalle maggiori aziende in campo CDN e DNS. Ottenuto diversi brevetti. Ricevuto diversi “Infrastructure Award”, premio interno riconosciuto a progetti di grande impatto sull’infrastruttura di Google. Attività o settore Pubblicità / Internet / Informatica Ottobre 2006 – Aprile 2010 Site Reliability Engineer Google, Gordon House, Barrow Street, Dublin 4, Ireland Membro della squadra responsabile per il motore di ricerca (fino al 2009), e dell’infrastruttura di frontend (DNS, bilanciatori di carico, reverse proxy, … - fino al 2013). Reperibilità, gestione emergenze (inclusi DDoS e simili), verifica delle metriche di affidabilità, modifiche all’architettura dei sistemi per consentirne la scalabilità e aumentarne l’affidabilità, sviluppo di varie soluzioni software per la gestione automatica dei sistemi, e strumenti di lavoro (python, shell scripting). Punto di riferimento per il lancio di alcuni nuovi prodotti (verifica prestazioni e scalabilità, capacity planning, monitoring, procedure di deployment, architettura, ed esecuzione). Risultati di rilievo: Coordinato il lancio e sviluppato gran parte degli strumenti e dell’infrastruttura per l’utilizzo di anycast, importanti per molti servizi. Uno degli SRE responsabili per il lancio di Google Public DNS. Assistito nel design dell’infrastruttura, aiutato nel provisioning, deployment, sicurezza, monitoring, DDoS e risposta ad emergenze. Sviluppato e lanciato diversi dei componenti dell’infrastruttura di bilanciamento di carico, che in seguito mi hanno portato alla posizione in Mountain View. Attività o settore Pubblicità / Internet / Informatica © Unione europea, 2002-2016 | europass.cedefop.europa.eu Pagina 1 / 3 Luglio 2000 – Ottobre 2006 Sviluppatore software / Linux System Administrator Varie aziende in zona Milano Sviluppatore software (C, perl, python, php, SQL, shell, XML, ldap, apache), sistemista linux, e coordinatore di squadra, da 2 a 7 persone con diverse professionalità su diversi progetti. Da siti web, a cluster di posta elettronica scalabili (apache, postfix, ldap, courier, bind, ...). Da sistemi per la generazione di cataloghi, a security assessment di siti web o altri sistemi informativi. Insegnato corsi di specializzazione su argomenti come Linux, uso di XML/XSLT, programmazione C o di sistema, della durata dai 3 ai 5 giorni presso diverse aziende, tra cui: Alcatel, Fujitsu Siemens, Bosh, API Milano. Stage presso il NOC di Fastweb. Attività o settore Internet / Informatica COMPETENZE PERSONALI Lingua madre Italiano Altre lingue COMPRENSIONE Competenze professionali PRODUZIONE SCRITTA Ascolto Lettura Interazione Produzione orale C1 C1 C1 C1 Inglese Competenze organizzative e gestionali PARLATO C1 Esperienza nel lanciare progetti software complessi su larga scala, coordinando il lavoro di diverse squadre, riducendo al minimo le dipendenze esterne, e concentrandosi su un prodotto minimo funzionante (MVP). Introdotto e utilizzato cicli di sviluppo rapido, con unit ed integration test, e con prototipi lanciati in produzione utilizzando A/B comparisons e monitoraggio per guidare ulteriormente il processo di sviluppo, determinare le priorità, e arrivare al raggiungimento degli obiettivi e delle metriche di successo in tempi rapidi. Conoscenza approfondita di diversi linguaggi di programmazione, usati a livello professionale (C++, python, golang, java, perl, asm). Forti conoscenze tecniche a livello algoritmico (hashing, lockless data structures, ...), di sistema operativo, architettura hardware ed interazioni con rete (network internals, stack TCP/IP, driver di rete, interazione con virtual machines, algoritmi di shaping e congestion control, performance tuning, RPS, RFS, GSO, TSO, ...). Conoscenza approfondita di diversi protocolli di rete, e funzionamento a basso livello (TCP, IP, ARP, HTTP, HTTPS, QUIC, DNS, BGP, …). Esperto di architetture CDN, meccanismi di funzionamento, ed implementazione per aziende al livello di Google. Conoscenze professionali a livello sistemistico (amministrazione e configurazione macchine linux, tuning, scalabilità, troubleshooting, monitoring, automazione, risposta ad emergenze, ...). Appassionato di tecnologia e d’informatica in generale, utilizzato tecnologie per lo sviluppo web (javascript, sql, flask python, librerie golang http, SQL e nosql, angular). ULTERIORI INFORMAZIONI Pubblicazioni Brevetti Altro Pubblicazioni Marzo 2016 - “Maglev: A Fast and Reliable Software Network Load Balancer” 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 16), USENIX Association, Santa Clara. Gennaio 2011 - “Client Subnet in DNS Requests”, RFC7871. Un’estensione al protocollo DNS per ridurre la latenza introdotta dalla distanza tra recursive resolver e utente finale in CDN. Controversa nella comunità DNS, ma adottata dai maggiori attori nell’industria, tra cui: OpenDNS, Baidu, Akamai, Dailymotion, Limelight, Incapsula, Neustar, CloudFlare, Facebook, Amazon CloudFront/Route 53 e Google. Con supporto completo o parziale nei maggiori software DNS. Il lavoro e i risultati sono stati citati in diverse pubblicazioni, conferenze e da associazioni di settore (SIGCOMM, ACM, IEEE, ...). Brevetti Curriculum Vitae “Multicast Group Ingestion” awarded June 2015, brevetto #9054911 “GRE tunnels to resiliently move complex control logic off of hardware devices”, awarded April 2016, brevetto #9325564. “Multi-Master Selection in a Software Defined Network" publication US20150195162 5 altri brevetti in corso di valutazione dall’US Patent and Trademark Office. 2014 - Completato corso di formazione CERT (“Community Emergency Response Team”), città di Millbrae, Licenza base radioamatore FCC, ICS100. 2001 – 2005 - Scritto articoli relativi a Linux su diverse riviste (Dev numeri 105, 106, 107, 108, Computer Programming numero 104 – in Italiano, Free Software Magazine numero 8 – in Inglese). Scritto diversi tutorial ed howto online su svariati argomenti, tra cui: uso di chiavi ssh, gpg, iptables, ip routing. 2003 – 2004 - Diverse presentazioni a vari eventi: Linux World Expo 2004, MOCA Camp 2004, vari eventi correlati con linux day e altre associazioni no profit. 2002 – 2006 – Sviluppatore Debian, lavorato su alcuni pacchetti e contribuito diverse patch e bug reports (mozilla in italiano, wipl, ne, openldap, ...). 2001 – Partecipato alle Olimpiadi Internazionali di Informatica (IOI), superando le selezioni scolastiche, regionali, e primo livello nazionali. Negli anni – contribuito patch a svariati progetti open source: adns, postfix, courier, grub, … scoperto problema di sicurezza in cfs (cryptographic file system) risultato in CVE-2006-3123. Altro Dati personali Autorizzo il trattamento dei miei dati personali ai sensi del Decreto Legislativo 30 giugno 2003, n. 196 "Codice in materia di protezione dei dati personali”. © Unione europea, 2002-2016 | europass.cedefop.europa.eu Pagina 3 / 3