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, Yocto), macOS, Windows.
- Technologies/Tools: Ansible, AWS, Docker, PostgreSQL, Terraform, Vagrant.
- Library/Frameworks: Android, Qt, React, Redux, UIKit.
Software Developer at Develer
March 2013 - Present
With Develer being a consulting company, I had the chance to work on several projects, such as:
- Back-end developer and part-time SRE in a team working for an ad re-targeting company. Lowered AWS bill by optimizing resource usage, and adopting ECS. Created internal tools to aid development, deployment, and monitoring. Handled roll-outs of new features to hundreds of users, including entirely replacing an old subsystem with a more scalable version.
- Reverse engineered the network protocol of a railway diagnostic system for which sources were in large part missing. Wrote a software component in Go to allow the old system to inter-operate with new software and hardware components designed to gradually replace it.
- Taught a two-day introductory course on Android development covering the inner workings of the platform and application development.
- Participated in the development of several desktop applications (mostly SCADAs and 2D CADs) written in C/C++/Python and Qt. In all instances I introduced CI tools such as BuildBot and Jenkins and helped making builds more reproducible by adopting Vagrant. Also spearheaded an effort to port one application from Qt 4.6 to Qt 5.4.
- Customized a low-level C library which interfaces with an USB software protection dongle through the HID protocol.
Co-Founder and Android Director at Kiwi S.r.L.
2010 - 2013
As Director of Android Development my role was to lead the development of the application, set the road-map, and write the necessary code, alongside supporting tools and frameworks. I also helped the company pivot from an iOS-only approach to a client-server, cross-platform architecture, in order to expand the user base. As such, I made technical choices about the server platform, set coding standards and began adoption of Agile development processes. For a while I handled the development of both the server and the Android app before focusing 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.
University of Florence
2010 - (Dropout)
ISCED 5, Computer Science
Liceo Scientifico Guido Castelnuovo
2004 - 2009
ISCED 3, Sciences