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
|Location||Livorno Area, Italy|
- Platforms: Android, iOS, Linux (Debian, Ubuntu, Fedora, RHEL), Embedded Linux (BuildRoot, Yocto), macOS, Windows.
- Tools/Services: Ansible, AppVeyor, AWS (including CloudWatch, EBS, EC2, ECR, ECS, ElastiCache, ELB, Lambda, RDS, Route 53, S3, VPC), CircleCI, Docker, Git, Jenkins, Node.js, PostgreSQL, Subversion, Terraform, Travis CI, Vagrant, Webpack.
- Libraries/Frameworks: Android, Angular.js, Django, Flask, POSIX, PyQt, Qt, React, Redux, UIKit.
Software Developer at Develer
March 2013 - Present
Software developer at Develer, a software consultancy firm based in Italy. Worked both alone and in small teams. Self-guided. Worked remotely, at the office and at client’s premises.
Key roles and personal achievements:
- Full-stack developer and SRE. Handled roll-outs 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.
- Reverse engineered the network protocol of a legacy railway diagnostic system. Created an adapter to allow the old system to talk with a new one designed to incrementally replace it.
- Built a mobile application in Angular.js and Socket.IO to control a high-power amplifier with strict performance requirements.
- Led the introduction of Continuous Integration practices at the company by implementing solutions based on Jenkins, BuildBot, Travis CI, CircleCI and AppVeyor.
- Worked on several desktop 2D CAD/SCADA systems written in Python/Qt. Implemented new features. Led efforts to migrate from Qt 4 to Qt 5 and modernize codebases and development practices.
Co-Founder and Android Director at Kiwi S.r.L.
2010 - 2013
Lead the development of the 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.
Open Source Project Lead at just-install
April 2013 - Present
Simple Windows package manager first written in Python, then re-written in Go to simplify deployment. Built a small community around the project by marketing the tool via a website and Gitter.
Ambassador and Contributor at Fedora Project
2008 - 2010
Packaged half a dozen applications as RPM. Participated in the KDE SIG. Presented the Fedora project at various events.
University of Florence
2010 - (Dropout)
ISCED 5, Computer Science
Liceo Scientifico Guido Castelnuovo
2004 - 2009
ISCED 3, Sciences