Software Engineer @ Prima Assicurazioni

Remote (Italy)

Jan 2023 - Present

I am an Engineering Manager in Training for the Claims Data Management Team at Prima Assicurazioni. My small team is responsible for implementing solutions for data analysis related to Claims Domain, following the principles of Data Mesh. We primarily use Scala, Spark, Airflow, Databricks, Redshift, and Elixir.

Additionally, I am assisting with the migration to Domain-Driven Design.

Sep 2021 - Jan 2023

Software Engineer for the Claims Team of Prima Assicurazioni, developing systems and microservices for managing claims using the following programming languages:

  • Elixir;
  • Rust;
  • Elm;

and the following technologies and paradigms:

  • CQRS/ES;
  • Functional Programming;
  • Graphql;
  • Postgres;
  • Rabbitmq;
  • AWS;
  • Docker;
  • Kubernetes.

Technical Advisor DevOps @ Ericsson

Naples (Italy)

Jun 2020 - Sep 2021

I have worked as a Technical Advisor DevOps for Ericsson, designing and improving infrastructures and CI/CD for migration from a monolith system to microservices architecture for several projects;

I was responsible for the DevOps Team (made up of 7 DevOps Engineers), helping to find the solution that follows the state-of-art best practices for Agile and DevOps methodologies on a microservices architecture.

I am using the following programming languages:

  • Bash;
  • Python.

and the following technologies:

  • Docker;
  • Kubernetes;
  • Maven;
  • Cassandra;
  • MySQL;
  • Prometheus;
  • git;
  • GitLab;
  • Rancher.

Junior Solutions Architect @ Immobiliare.it

Rome (Italy)

Apr 2019 - Jun 2020

Analysis of the current architecture, designing and developing improvements and new features;

Designing and developing cloud and distributed solutions for high-scalable and high-availability systems;

During the working experience the following programming languages have been used:

  • Golang;
  • C/C++;
  • Python.

and the following technologies:

  • Docker;
  • Kubernetes;
  • HAProxy;
  • MongoDB;
  • Apache Traffic Server.

I was involved on high-performance image processing, specialized backpressure routing algorithms and parallel/distributed computing.


BlockID Authentication Service over Blockchain

Italy - Switzerland [Freelancer]

May 2018 - Mar 2019

Designing Ethereum-based blockchain solutions aiming to address both privacy and scalability concerns.

BlockID Authentication Service is an Authentication Service giving to the user the ability to get access to many systems compliant with the protocol we designed and developed, without providing personal information. To achieve this, I’ve designed and developed an authentication protocol based on Zero-Knowledge proofs and the Homomorphic property of the RSA protocol.

The project was developed with Like A Coffee.


Data Aggregation Server for IOT (DASI)

Salerno (Italy) [Freelancer]

May 2017 - Oct 2017

Designing and developing a dynamic data aggregation server using Python (Flask).

The server can gather data in different formats from many devices (e.g. sensors) and this information can be accessed in a standard format through HTTP endpoints.

The server can be configured using a file specifying the way in which data from devices can be parsed.

Users can set alarms for abnormal measurement and can block endpoints for devices sending invalid or unwanted data.

The technology stack used is the following:

  • Python Flask;
  • JWT;
  • MongoDB;
  • Redis;
  • Docker;
  • Docker Compose.

The project was developed for King Web Design together with Mario Villani.


Voto col Portafoglio

Italy [Freelancer]

Apr 2017 - Oct 2017

I developed the app Voto col Portafoglio: a cross-platform mobile application developed with React Native, using Native Base as UI Framework.

The project was developed together with Mario Villani and Vincenzo Tavarone.


Giffoni Social Experience

Italy [Freelancer]

May 2016 - Jul 2016

I developed the backend for Giffoni Social Experience 2017. My responsibilities were:

  • Data scraping from Giffoni Film Festival Web site;
  • Designing and developing the Giffoni Social Experience app’s backend with Node.js and MongoDB;
  • Designing and developing the Giffoni Social Experience app’s CMS using Bootstrap, PHP and jQuery.

The project was developed together with Mario Villani and Vincenzo Tavarone.


NJOY Campania

Italy [Freelancer]

Feb 2016 - May 2016

I designed and developed the backend for NJOY Campania using MongoDB as the database and Node.js (and Express) for the server.

The project was developed together with Mario Villani.


University Projects

FLY

Jul 2018 - Feb 2019

FLY is an open-source Domain Specific Language for scientific computing on the cloud exploiting Function-as-a-Service.

FLY is designed as a scripting language that uses the local machine or cloud infrastructure as the run-time environment. The script automates the execution of tasks that could alternatively be executed one-by-one by a human operator. The goal of FLY is to provide a portable, scalable and easy-to-use programming environment for scientific computing. FLY perceives a cloud computing infrastructure as a parallel computing architecture on which it is possible to execute some parts of its execution flow in parallel. FLY enables users (domain experts with limited knowledge about complex parallel and distributed systems) to design their applications exploiting data and task parallelism on any FaaS architecture. This is achieved by a rich language that provides domain-specific constructs, that enables the users to easily interact, using an environment abstraction, with different FaaS backends.

FLY is written using Xtext a framework for the development of programming languages and domain-specific languages. The FLY code is transformed in pure Java code that you can run on a Java Virtual Machine and/or in JavaScript (Node.js) and Python code that you can run on a FaaS backend.

I developed the Python generator for my Master’s thesis.

The project was developed at ISISLab.


Apr 2018 - Jul 2018

prefix-search is an implementation of the algorithm introduced in the paper Compressed Cache-Oblivious String B-tree of Paolo Ferragina and Rossano Venturini.

We developed the proposed algorithm (LPRC) and a new one (PSRC), giving you the ability to deal with online dictionaries of strings in an unspecified order.

The project was developed using Go for the core of the algorithm and Python for the random test generator and the analysis of the results.

We also used Travis CI for Continuous Integration, in order to test our project at each new commit and pull request.

The project was developed together with Mattia Tomeo.


gittogit

Dec 2017 - Mar 2018

gittogit is a simple implementation of the git protocol using a peer-to-peer network as storage. The storage is, indeed, a Distributed Hash Table (DHT). We used Tomp2p as DHT library. Each client can:

  1. create a repository in a directory;
  2. commit the repository (if there were changes);
  3. add new files not yet tracked;
  4. pull and push its repository on the DHT. The system will notify the user in case of conflicts (e.g. pulling a modified repository, and so on).

Along with Tomp2p we used Travis CI for Continuous Integration, JUnit for Unit Tests, TextIO for reading and writing text and for the CLI.

The project was developed together with Dario Castellano.


WSIL (Online on Heroku)

Mar 2017 - Jun 2017

WSIL is a web app giving the opportunity to check out trending of programming languages and frameworks. Using WSIL you can both see jobs for a given programming language or framework, with courses concern it.

On WSIL you can find statistics to closely analyze up to 200 programming languages and up to 100 frameworks.

For each programming language and framework, you can find:

  • count of StackOverflow answers;
  • jobs for it, obtained from AuthenticJobs and Indeed;
  • course for it, obtained from Coursera and Udacity;
  • the trend for it in each region and time interval, based on GitHub repositories activity and Google Trends.

Data are obtained from the following sources:

  • Wikipedia;
  • StackOverflow;
  • GitHub;
  • AuthenticJobs;
  • Indeed;
  • Coursera;
  • Google Trends;
  • Udacity.

The technology stack is the following:

  • Django for the back-end, using Django Rest Framework for REST APIs;
  • Plotly for showing graphs;
  • Jinja + React + Bootstrap for front-end and UI;
  • SQLite as a database;
  • Scrapy for scraping.

The project was developed together with Mattia Tomeo and Fabio Napoli.


rfd-discovery

Oct 2016 – Feb 2017

rfd-discovery is a tool written in Python and Cython using the Scipy stack. This project deals with the discovery of Relaxed Functional Dependencies(RFDs) using a bottom-up approach: instead of taking a fixed threshold on input and finding all the RFDs, this method infers distances from different RHS attributes by itself and then discovers the RFDs for these ones.

rfd-discovery takes a dataset, representing a relational table, in CSV format as input and prints the set of the discovered RFDs. We also built a simple page, using AngularJS as frontend and Flask as backend, in order to easily upload CSV files and interactively select right-hand-side and left-hand-side.

The project was developed together with Mattia Tomeo and Antonio Altamura.


Healthy Weight

Apr 2015 – Jul 2015

This project was developed for the course in Human-Computer Interaction at the University of Salerno. It consists of a small app, developed using C#, for tracking exercise and physical health, aimed at countering obesity. The application, related materials and prototyping activities, are mainly focused on keeping up the principle of usability, based on the main guidelines and heuristics.

The project was developed together with Christian De Blasio, Domenico Iannone and Marco Picariello.

Contact me

dariodip