Experiences

Senior Software Engineer

2021 - Present

Navionics, a GarminĀ® Ltd. company, develops and manufactures electronic navigation charts of marine areas, lakes, and rivers around the world for use in GPS chartplotters and mobile devices. Based in Viareggio, Italy, Navionics operates its US headquarters in Wareham, MA, and worldwide offices in the UK, India and Australia.

Technologies used:

  • .NET Core
  • C++
  • Java
  • Spring Boot
  • Android SDK
  • Docker
  • SWIG

Software Engineer 2

2019 - 2021

Software Developer

2015 - 2019

Apparound is a company that delivers B2B solutions to digitise the selling process.

Main tasks:

  • Ported the internal app store to ASP.NET
  • Maintained and improved the backoffice portal using AngularJS and ASP.NET
  • Developed and improved webapp version of main product application and its modules and features, using ReactJS + Redux for the frontend and ASP.Net and Node.JS for the backend
  • Contributed to develop a multitenant cloud infrastructure, porting the on premise solution
  • Developed a ASP.NET Core solution to handle digital signatures of contract
  • Currently working on improving the product in an agile environment, using the .NET Framework, AngularJs and Scrum

Node.js developer

2014 - 2015
Gruppo META, www.gruppometa.it

Gruppo META is a company that deals with digital publishing, knowledge management and cultural heritage. I partecipated in the building of the Ubidictionary portal.

My daily tasks included:

  • Building and maintaining the in-house node.js microframework, built on top of KOA.js
  • Design and development of HTTP API and backend services using the in house microframework
  • Building the infrastructure using docker.io as a stepping stone to a microservicve architecture
  • Defining the Markup metalanguage used to import and index the dictionaries
  • Building the parser, importer and indexer of the dictionaries

I also partecipated in the iSLe project.

My daily tasks included:

  • Using the in-house node.js microframework to develop HTTP API and backend services
  • Creation of the Markup metalanguage used to define excercises, with semantic

Tutor

2009 - 2013
Self employed

Private lessons of Arithmetic, Calculus, Computer Science and Physics to students of any grade

Education

BSc in Computer Science

2007 - 2013
University of Pisa

My thesis work consisted in porting an algebraic multigrid algorithm from its Matlab implementation into the Operations Research Group framework, using C++ and Expression Templates.

I graduated with a score of 101 out of 110.

Relevant courses for which I developed a project:

  • Logistic: modeled a small Network Design problem solved using Sage Math + Python;
  • CMS: had the chance to play with LaTeX typesetting system which I used to write a small essay;
  • Network Programming: developed a GNU-tella like, multithreaded, distributed file sharing system using Java and Java-RMI;
  • Advanced Programming: developed a multithreaded client-server program simulating a car-sharing system, using BASH, C and POSIX threads;
  • ESP: developed numerical code in C to compute 1.000.000! using FFT to speed up multiplication.

High Parallel Computing

08/10/2010
CINECA

CINECA crash courses on:

  • Introduction to OpenMP programming;
  • Introduction to Parallel Programming and Message Passing Paradigm.

High School Diploma

1997 - 2002
Liceo Scientifico M. Buonarroti, Forte dei Marmi (LU)

Projects

I like to study new technologies and always be up-to-date. Here are some of the projects I developed in my spare time.

Authenticated Ladder - Developed an opensource ranking for the Demoniaca video game, using ASP.NET Core and EntityFramework Core for the backend, JWT to sign the payload and travis.ci+coveralls+docker for the continuous integration. The project is automatically deployed with Fabric on a DigitalOcean droplet. It has 98.225% of code coverage, for what is worth :)
Quattro - A 2D retro pixel art platform concept developed in 48 hours during Internet Festival 2014's Game Jam using Unity 3D. The game has been selected for the final, but we never finished it. The game has also been awarded the popular jury award The game rights have been sold to Gamera Interactive and the game hit the market as Unit 4
Camouman - A free game for Android developed using LibGDX and available on Google Play Store
Spunball - Experiments with LibGDX with the intent to produce a 2D platform suitable for Android devices. We also developed our own level editor exploiting SVG's XML structure.

Skills & Tools

Testing

Huge fan

Agile/SCRUM

4 years

Git

8 years

TSQL

4 years

.NET/.NET Core, C# & VisualStudio

4 years

Node.js

3 years

AngularJS

4 years of editing and maintaining the existing backoffice portal. Never bootstrapped from scratch

HTML & CSS

Ability to edit and modify. Never did something from scratch

C

Two projects at university. Used lgcov and valgrind

C++

Two project at university + developed my thesis using Blazelib

Linux and Bash

I've been thinkering with Linux since I was 14 (former slackware and gentoo lover)

Java

Two project at university + used it in some spare time project

Docker

Used in some spare time project