If you don’t know anything about computers, just remember that they are machines that do exactly what you tell them but often surprise you in the result.
– Richard Dawkins, The Blind Watchmaker
- Platforms: Android, iOS, Linux (Debian, Ubuntu, Fedora, RHEL), Embedded Linux (BuildRoot, Yocto), macOS, Windows.
- Interested in: C++, Common Lisp, PHP, Ruby, Rust, Swift, Scheme.
- Libraries and frameworks: Android, Angular.js, Django, Flask, POSIX, PyQt, Qt, React, Redux, UIKit.
- Tools, services, and platforms: Ansible, AppVeyor, AWS, CircleCI, Docker, Git, Jenkins, Node.js, PostgreSQL, Subversion, Terraform, Travis CI, Vagrant, Webpack. Coffee (lots of).
Senior Software Developer at Develer
March 2013 - Present
Senior software developer at Develer, a software consultancy firm based in Italy. Handled projects ranging from low-level C, desktop GUIs with C++/Python/Qt, mobile apps, full-stack Web development, SPAs built with React.
Key roles and personal achievements:
- Full-stack developer and SRE. Handled rollouts of critical features to hundreds of users. Rebuilt the continuous delivery pipeline to improve build times, reliability, and reduce costs. Built internal tools to support the effort. Spearheaded efforts to migrate to AWS ECS.
- Reverse engineered the network protocol of a legacy railway diagnostic system. Implemented an adapter in Go to allow the old system to talk with a new one designed to replace it incrementally.
- Designed and implemented desktop GUI applications built on the Qt framework, including 2D CAD/SCADA systems. Handled migrations from Qt 4 to Qt 5. Built complex QML components to be integrated in a QWidget-based application.
- Drove adoption of Continuous Integration practices at the company by implementing solutions based on Jenkins, BuildBot, Travis CI, CircleCI and AppVeyor.
Co-Founder and Android Director at Kiwi S.r.L.
2010 - 2013
Directed the development of the Android application, implemented features and created supporting tools and frameworks. Helped the company pivot from an iOS-only approach to a client-server cross-platform architecture, in order to expand the user base. Made technical choices about the server platform, set coding standards and adopted Agile development processes. For a while handled the simultaneous development of both the server and Android app before switching to focus exclusively on Android.
Summer of Code Student at Google
April 2008 - September 2008
Worked on the Kexi project (a FLOSS alternative to Microsoft Access, part of the Calligra office suite) to make data entry forms available over a Web interface. The server side component was developed in C/C++ using the Qt and Pion frameworks.
- Speaker at conferences: Presented talks at Qt Day, BetterEmbedded, and internal company events.
- Teacher: Taught a multi-day introductory course on Android AOSP on both OS and application development.
- Open Source Project Lead (2013 - Present): Leading the just-install open source project, which is a simple package manager for Windows.
- Fedora Project Ambassador and Contributor (2008 - 2010): Packaged half a dozen applications as RPM. Participated in the KDE SIG. Presented Fedora at various events in Italy.
University of Florence
2010 - (Dropout)
ISCED 5, Computer Science.
Liceo Scientifico Guido Castelnuovo
2004 - 2009
ISCED 3, Sciences.