- Date of birth: February 21st, 1978
- Place of birth: Pisa, Italy
- Nationality: Italian
- Address: [feel free to contact me]
News Engineering, London (UK)
January 2015∼June 2018
Summary — I lead the the News Search Experience team at Bloomberg in London. The focus of the team is on relevance and ranking of news searches; online and offline analytic for both internal and external customers; the experimentation, logs collection and processing; knowledge representation; and, more in general, anything that can get search quality better. The team is a good mix of strong engineers, relevance and machine learning people, and data science experts.
Before that, I also served as an individual contributor for a the team that was then diveded and spawned the one I lead. In such a role I mainly focused in the search relevance and qualitative measurement of it.
Bing.com — Microsoft ltd
Senior Software Development Engineer
Search Technology Center, London (UK)
November 2009∼December 2014
Summary — In my work at Bing.com, I served in many different teams with the role of individual contributor (IC) and as a development leader (DL). I have been working in:
- The Multimedia Relevance team which provided rankers and classifiers for both Image and Video search verticals in international markets (IC & DL)
- The Query Rewriting Experimentation Platform for the offline training infrasctructure of the Speller and related services (DL)
- The relevance part and the training of the models used by the Online Speller for the international markets (DL)
- Double role of dev-lead for both the DataGen team which was charge of designing, creating and maintaining the pipelines used to feed AutoSuggest (aka Bing's search box auto-complete) and RelatedSearches, and in the Metrics team which is in charge of measuring the performance of the same two products (DL)
- The AutoSuggest product with the special focus on the ranking of non-prefix suggestions (IC)
In all my roles at Bing.com, I have been actively involved, in collaboration with Microsoft Research, in the research of new solution and techniques with a particular attention to temporal data analysis, NLP and compressed data structures.
Moreover, I have been coordinator of hiring for all the Bing office for atmost 3 years.
Senior Software Engineer
Ask.com R&D Office, Pisa (Italy)
October 2007∼July 2009
Summary — During my work at the Ask.com R&D Office in Pisa, I worked on a variety of different projects. I was involved in both the Image and News search. In Image Search, I was involved in the image processing for feature extraction and engineering (face recognition, etc.). In News Search, I was involved in the crawling and reverse-templating/text-extraction parts of the system. Morover, I was involved in the development of the tools used for the 24/7 monitoring and alert of our distributed processing system.
- Ph.D. (Diploma di Dottore di Ricerca) in Computer Science, Università di Pisa, 2008
- Internship at Department of Electrical and Computer Engineering (ECE) of Northeastern University, Boston, MA (USA), from August 2006 to March 2007, under the supervision of Prof. Stefano Basagni.
- Master Degree (M.Sc. – Laurea Specialistica), Tecnologie Informatiche, Università di Pisa, 2004.
- Bachelor Degree (B.Sc – Laurea), Informatica, Università di Pisa, 2003.
- Programming languages: C/C++, Perl, Bash and C# (in the past XSLT, Java, Pascal and OCaml).
- "Big Data" processing: experience in working with multi TB-scale datasets using Microsoft proprietary technology and tools. Clustering and data-mining for knowledge extraction.
- Operating systems: Linux, Solaris, Windows (latest versions used) 7, 8, Server 2008R2 and Server 2012.
- System and parallel programming: multi-threading, OpenMP, MPI/PVM and sockets.
- Generative and generic programming: C++ Templates and Template Meta-programming, code generation for task specific optimization and abstraction (DSLs).
- Deep knowledge of both the Unicode standard (UTF-8, UCS-2...) and Regular Expression.
I love programming and I love learning new things. I do believe that the better and only way to learn is learning-by-doing. The following ones are some of the projects that I did, or that I am still doing, that were originated by for personal curiosity of study needs:
- Perl modules on CPAN. I am the author and maintainer of the various Perl modules and they can be found at my meta::cpan profile
- Selenium: C++ framework that provides some of the functionalities offered by pynum (vector processing). The project uses many of the features of the latest C++11 standard (e.g., variadic templates, etc.).
- Uranium: C++ framework that provides general utilities: string processing, conguration classes, modern I/O, lazy pointers, etc.
During my Ph.D. and internship at the Northeastern University, I had the occasion to be a teaching assistant and/or present topics to students during classes. The topics that I presented were:
- Types and Type Systems
- Object Oriented Design and Programming
- C++ Templates, STL and Template Meta-programming
- Wireless Networks (MAC layer and Ad-Hoc Networks)
- System programming in Linux with C (multi-processing and multi-threading, networking with sockets)
- Algorithms and Data Structures (Sorting and Searching, Search Trees)
I do not run a blog, anyway, I like writing about technological topics and my "posts" can be found in the Documents section of this web-site.
During my Ph.D., my research area was the one of Wireless Sensors Networks. A list of publications can be found in the Publications section of this web-site.
- "Golden Star" at Microsoft Bing
- "Rock Star" at Ask.com
- ACM Professional Member (2008∼Present)
- ACM Student Member (2006∼2007)
- Perl.it member (since 2004)