CV

Interests

  • Distributed systems: large-scale system architecture, dependability, fault-tolerance, scalability, performance, security.
  • Systems: operating systems design, hardware-software interfaces, embedded systems, networking.
  • Electronics: automation, signal processing.
  • Miscellaneous interests: cryptography, computer vision.

Languages

  • C++ for high performance
  • Java for large enterprise projects
  • Erlang for distributed system prototyping
  • Smalltalk for OO prototyping
  • C for embedded systems
  • Bash and Python for everything else

Experience

Apple Inc.

[2014-now] Software Engineer – Cloud Infrastructure Engineering

apple

The Cloud Infrastructure Engineering develops back-end services, systems and libraries used internally. Clients of this group include iCloud, iTunes, Maps, and the CloudKit platform.

[2013-2014] Software Engineering Manager – Maps Search Infrastructure

apple

The Search Infrastructure team in Maps is responsible for the operational side of Search, Autocomplete. A few examples of the activities and projects of my team included:

  • Automated ingestion of data updates into search indices
  • A/B testing framework
  • Maps services internal APIs
  • Recruiting and talent acquisition
  • Performance and scalability
  • Tools, automation, build infrastructure
[2013-2011] Software Engineer – Maps Search

apple

  • HTTP stack
  • Search and Autocomplete APIs
  • Asynchronous event frameworks
  • Data ingestion and indexing pipeline
  • Index file format, libraries and tools
  • Compiler for plug-in relevance models
  • Performance instrumentation and monitoring systems
  • Configuration management systems
  • User logging, anonymization and analytics pipeline
[Summer 2010] Software Engineer Intern – Maps Search

apple

Over the course of 3 months I designed and implemented Implemented a Paxos-based, highly available, consistent, distributed configuration management system (similar to Zookeeper).

University of Lugano

[2008-2010] Research Assistant

Publications:

[2008-2010] Teaching Assistant

Teaching assistant in different B.Sc. and M.Sc. computer science courses by Prof. Antonio Carzaniga, Prof. Fernando Pedone, Dr. Romain Robbes, Dr. Anna Förster

[Summer 2006] Wireless Sensor Networks Internship

MicaZ moteEmbedded development of content-based protocol for distributed networks of tiny wireless sensors. (MantisOS on MicaZ motes). Implementation of Direct Diffusion and other protocols with the goal of comparing against DV-DRP.

Education

Master of Science – Dependable Distributed Systems

[2007-2009] University of Lugano, Lugano, Switzerland

The program provides students with an in-depth perspective on advanced topics of distributed computer systems. The program focuses on the design, implementation, and performance analysis of reliable, secure, and scalable software.

Thesis: Paxos made code: Implementing a high throughput Atomic BroadcastBachelor of Science – Computer Science

[2004-2007] University of Lugano, Lugano, Switzerland

The bachelor program offered by the Faculty of Informatics consists of an innovative, project-based, team-oriented curriculum designed in collaboration with experts from Milan’s Politecnico and the Federal Institute of Technology, Zurich. It is quite clearly distinguishable from existing programs both for its teaching methodology and for its course content.

Cisco Systems Networking Academy (CCNA)Cisco Systems

[2003-2004] I.T.I.S. L. Cobianchi, Verbania, Italy

The Cisco System Networking Academy is a exhaustive course (both theory and practice) focused on networking, starting the basics (sub-netting, medias, internet protocols) to advanced functions (routers and switches programming, WAN links and architectures) and maintenance issues (security, server services, users administration and more).

[2004] Technical Diploma – Electronics and Telecommunications for Industrial AutomationITIS Cobianchi

[1999-2004] I.T.I.S. L. Cobianchi, Verbania, Italy

Theory and practice of, courses include:

  • Digital logic and circuit design
  • Industrial automation (e.g., PLC programming)
  • Telecommunication (TV, Radio systems)
  • Fundamentals of electrical engineering
  • Signal processing