Senior software engineer at Tes
Mentor at Coderdojo Padova
Full Stack Developer with a strong focus on frontend technologies currently working at Tes. I worked at Mostaza, a small and vibrant remote-friendly startup based in Padua (IT). During my experience at Tes and Mostaza I improved my React and React Native skills and I’m happy to use them every day to build new projects and teach what I learned to other people and companies.
My second passion is teaching: in my free time I enjoy discussing about the techs I know and love. I've been a mentor of Coderdojo Padova for more than 4 years and I'm currently collaborating with various local organizations (both public and private).
Currently working with:
React, Mobx, Redux, React Native, HTML, CSS, Node.js, AWS, Microsoft Azure, Bitbucket Pipelines, Postgres
Past experience with:
PHP, Python, Java, C++ , Qt framework, Unity 3D, MySQL
Università degli Studi di Padova, Master in Computer Science from Oct 2013 to Sep 2016
Université Pierre et Marie Curie, Researcher(Thesis) in Software Engineering from Nov 2015 to Apr 2016
Danmarks Tekniske Universitet (DTU), Erasmus student in Software Engineering from Jan 2014 to May 2014
Università degli Studi di Padova, Bachelor in Computer science from Oct 2009 to Jul 2013
Tes (Remote - London, UK)
Senior software engineer from Jan 2020 to Now
I worked on a new internal tool to book and review teaching job ad. We built a complete new infrastructure from scratch with Event Sourcing(ES) and Command Query Responsibility Segregation (CQRS).
My main contribution has been on development of the front-end (React, Redux) where I've introduced new concept not commonly used in the company, for example React Hooks, stale while revalidate fetching (with SWR) and End to End testing with Cypress.
I've also vertically developed various features where I've worked in our back-end (Node, Express, PostgreSQL) and I've learned a lot about ES/CQRS.
Mostaza Srl (Padova, Italy)
CTO from Oct 2018 to Dec 2020
As CTO of Mostaza I had the opportunity to grow not only my skill as software developer but also to improve my attitude as team manager. I also had the opportunity to talk directly with our customers and teach the technology we use every day to other companies and developers. The key points of my experience were:
- I helped the team growth from 2 to 6 developers with a particular attention to make the environment safe and remote working ready
- Not as much as before but I had still the possibilities to write code and learn new technologies
- Doing code review and teaching were fundamental to fix ideas and grow as a developer
- I spoke directly to customers (mainly B2B) from the first contacts to the end of the projects
Mostaza Srl (Padova, Italy)
Software Developer from Oct 2016 to Oct 2018
Web and mobile application development with React and React Native, backend development with Node.js.
As a software developer in a small startup I'm constantly facing new challenges not only related to coding but also about project management. I've been part and lead of different remote teams and I daily use most of the common tools to ease the communication and management in this scenario (Slack, Jira, Trello, Bitbucket, Github and so on).
Among all the projects I've worked on I want to cite these:
Emerson Connected: It's a complete solution to manage and optimise industrial refrigeration systems with bluetooth connectivity built by Emerson Electric Co. For the React Native mobile application I wrote the native and JS code to communicate over bluetooth with a specific serial protocol. I'm now the lead of the team that is also working on the cloud application (React and a serverless Node.js backend with various Azure services integration)
MUVE Audioguide: For the Venice Civic Museums Foundation (MUVE) we built an audioguide mobile application with bluetooth beacons integration, MUVE comprehends 11 of the most important museums in Venice. As the Project Manager I've been involved in the whole development process, from the first functional analysis to the hardware deployment. The solution is composed by a mobile application written in React Native and a dedicated CMS (React and Node.js + Parse Server on top).
Mediamarket employee evaluation: Mediamarket S.p.A was looking for a digital solution meant to be used by their employees to evaluate other employees performance, we developed for them a complete custom solution based on their specific needs. It's one of the first projected I worked on and now, after 2 years of production, has thousands of compiled evaluation forms. I developed the web application with React and the backend with Node.js + Parse Server.
Talentlab aps (Padova, Italy)
Teacher from Jul 2017 to Now
Various short length courses about Arduino, from basic to advanced level.
We used different approaches to introduce and teach how to interact with an Arduino board, in particular we used Thinkercad Circuits to enable a safe "trial and error" environment to experiments with basic users and we switched to advanced IDEs with more experienced users.
H-Farm Education (Treviso, Italy)
Teacher from Jul 2016 to Aug 2017
Within the Digital Summer Camp 2016 and 2017 I worked in various activities for kids between 11 and 18 years old. During the 7 weeks my main tasks were related to these topics:
- Robotics (assembling and programming an mBot robot)
- Python programming with Minecraft (python scripting to interact with the Minecraft world)
- Videogames and Virtual Reality (building a simple videogame in Unity 3D with the Google Cardboard SDK)
Université Pierre et Marie Curie (Paris, France)
Master Thesis from Nov 2015 to April 2016
My research work aimed at a proposed "Future Internet architecture" called NDN (Named Data Network). I implemented a new way to use multiple interfaces in a V2I (Vehicle-to-Infrastructure) scenario. I developed a tool to test my work and is now used by many developers and can be found inside the official NDN repository, this introduced me to to code review and ticketing systems (Gerrit and Redmine).
IFOA (Padova, Italy)
Teacher from Sep 2015 to Sep 2015
I taught to high school students just graduated in computer science.
The class was divided in 4 parts and I taught 2 of them. The first part main topic was computer networks, in particular the theory of physical layer. The second part was more practical and I introduced different CMS' and we talked about virtualization with Virtual Machines and Docker.
The class total length was 64 hours (40 + 24).
Software Developer (Padova, Italy)
Freelancer from Jul 2014 to Oct 2014
I developed two Human-Machine Interfaces for the new medical museum of Padua:
- Magic mirror: look inside yourself trough an LCD screen connected to a Microsoft Kinect V2 sensor (Unity 3D)
- Human body layers: some colorful magnifiers that shows the different systems inside a human body (Unity 3D and OpenCV)
QBGROUP Spa (Padova, Italy)
Software Developer from Oct 2012 to Jun 2013
I worked on new technologies to interact with the virtual and real world, my work here started with a 3 months project as part of my bachelor thesis and finished with a 9 months contracts.
As my bachelor thesis I worked on my first NUI (Natural User Interface): a 3D application to select and interact with different 3D objects. The interaction between the user and the software(Unity 3D) has been achieved with a Microsoft Kinect V1.
At the end of thesis I worked on 3 other small projects:
- A wireless controller prototype, both software and hardware. The controller had different feedback (visual and tactile) and interact with a 3D application and different ad-hoc softwares (Arduino, Python and Unity3D).
- With the expertise learnt from the controller development I worked to a secondary project about home automation to enhance the clients experience. (Arduino and Python)
- An augmented reality application for mobile devices. (Unity 3D and Vuforia)