I'm Riccardo, software developer. I love new challenges and learning new things.
Currently, I am pursuing a Master's degree in Computer Science at Technical University Munich (TUM), with a major in Security Engineering, and I work as Solutions Architect at nextbit, an Italian company in the Data Science industry.
While I'm not busy studying or working I like to contribute to opensource projects, reporting bugs and writing patches.
In 160 chars: Traveller, dreamer, Springsteen's fan, freedom's fanatic. I enjoy what's amazing in the world.
Gitlab CI ~
Nextbit increases business productivity and efficiency in the digital age by enabling the adoption of the latest innovation on Data Science and Artificial Intelligence.
Our team bridges the latest academic research in the analytics field by applying a variety of skills including: data engineering, data science, user experience, creative design to solve business problems. We use a well-planned and rigorous implementation approach to achieve results; quality is at the heart of any project we undertake.
As Solutions Architect I’m involved in daily basis work to put in production and maintain solutions developed by our Data Science team, and to facilitate work for our teams automatizing as much as possible.
As part of my Master's Degree in Computer Science, I had an internship as Software Engineer at Motius. Goal of the internship is to plan and develop software for an IoT Gateway for a German car manufacturer.
The rising of IOT technologies and the availability of network connections everywhere in the world are opening the doors to ideas and products which aim to interconnect all the devices around us. Motius builds a product for “smarter city”, in particular a Smart Lightpole, that is connected to all other lightpoles and contains sensors, camera, etc. This network of smart streetlights can be the backbone of the smart city. The pole can interact with participants of the smart city, e.g. pedestrians by providing them with WiFi or by providing an emergency button.
But a huge number of participants is currently excluded of this network and it’s a significant part of a city: the cars. Therefore we aim to connect cars into that network. In a frst requirements engineering workshop we identified the need of a centralization tool, placed in the car, that gathers all information in one place and enables a smooth communication to third parties. We want to provide technologies to access cars’ telemetry and controls, and a way for an user to set rules to react to events. With this gateway, developers can retrieve all telemetry from just one place, and can deliver commands to the car.
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.
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