Full Stack Developer
I'm Riccardo, software developer. I love new challenges and to learn new things.
Currently, I am pursuing a Master's degree in Computer Science at Technical University Munich (TUM) and I work as part-time developer at fleetster.
While I'm not busy studying or working I like to contribute to opensource projects, reporting bugs and writing patches. I'm a long standing Ubuntu contributor: thanks to this experience I learned how to work remotely on fast changing technologies.
In 160 chars: Traveler, dreamer, Springsteen's fan, freedom's fanatic. I enjoy what's amazing in the world.
The advantages of CarSharing for companies: whether small businesses or corporations, bicycles, limousines or trucks, whether conventional or electric: fleetster optimizes the utilization of vehicle fleets, lowers costs, saves vehicles and even makes the private use of pool vehicles possible. This is good for the environment, good for the company and good for the staff.
I focus mainly on developing and maintaining internal tools: I work on our CI/CD pipelines, using mainly Gitlab, Gitlab CI, and Jenkins, plus all the tools project-specific, as Jest, Instanbul, fastlane and others.
The tools I contribute to are written mainly in React, React Native, and Typescript.
I'm also responsible of the development of an Android application for one of our customer in the automotive market (written in React Native).
Archon is a company based in Italy, with offices in USA, specialized in providing automated operations with UAVs. Archon’s team members are all Italians and have a recognized expertise or advanced degrees in physics, business administration, engineering and virtual reality. The combined background of the team members is able to cover the design and management of complex drones operations.
As full stack developer I'm building all the architecture of the Archon Project. We have to coordinate flight of fleet of drones controlled by an AI.
I'm working on the software which interface with the AI and provides commands to each single drone (and other sensors integrated with our system).
It also takes care to expose APIs to allow users to define missions and goals in a web interface built with AngularJs.
We use AMQP protocol for real time communication between the orchestration software, written in Node.js, and all the drones: each one has a little daemon to communicate with. We created a common protocol to work with a lot of different drones model.
We're focusing on high-performance, high-availability solution.
I'm involved in every day discussion on how to implement the orchestration software, which takes care of a lot of different tasks (communicate with AI, provides API for end users, communicate with drones and sensors) and I'm also involved in the development of both the frontend for users, and the daemon that runs on each drone.
As developer for Ubuntu for Phones I'm contributing to build the future of mobile industry.
Every new function requests a Quality Test, so I write Python test with autopilot library.
The team is international, and every week we have a video call, so I drastically improved my spoken English.
Thanks to this experience I learned how work remotely in a big team, using a SCM (bazaar) and mailing list to coordinate.
Also, I started to be involved in all Ubuntu Phone related activities, contributing to a lot of different software. Unfortunately Launchpad isn't user friendly, but here there is a list of my contributions.
Moreover, I met a lot of high-skilled and very talented guys, who taught me how opensource works, and some very good approaches to good team work and good software development guidelines.
I'm currently studying Computer Science focusing on security: it gives me a lot of theoretical knowledge that I can then use in my everyday job and in the opensource world.
Mathematical Optimization ~
I achieved a bachelor degree in Computer Science (degree 108/110) discussing a thesis, based on my experience at archon.ai, about AMQP, RabbitMQ and a possible application to manage a fleet of drones.
Falldown is a cartoon game where you have to tilt your phone to make ball fall down quickly with rhythmic music. Don’t get squashed!
An open-source clone for Ubuntu for Phones of 100 Balls, based on Bacon2D