Alfredo Di Napoli

Functional Programmer

alfredo.dinapoli@gmail.com

+39 340 94 74 126

Silicy, Italy

www.alfredodinapoli.com

At glance

Passionate functional programmer, working remotely from Marsala, Italy.

I'm an enthusiastic computer scientist who tries to find the most elegant solution for the problem at stake. I like to define myself a beauty-driven developer. Robert C. Martin's Clean Code is my bible, functional programming languages my inspiration. Quoting David Gelernter: Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defense against complexity.

Skills

Functional
Programming

Many years of professional experience as functional programmer, mainly Haskell (6 years), PureScript (3 years) and Scala (1 year). Eager experimenter of every functional language, ranging from Common Lisp to Idris.

Architecture
Design

Experience in designing and implementing software architectures, especially distributed and fault tolerant systems. Experience leading remote teams.

OOP
Programming

Five years of experience in Python development, using Django. Two years of experience in C++ development, with a focus on the C++11 standard.

Technical

  • Haskell
  • Scala
  • PureScript/Elm
  • Rust
  • OCaml
  • HTML/CSS/JS
  • Python
  • C/C++
  • Java

Experience

oscoin (Monadic GmbH)

Haskell/Rust Engineer

January 2019 - now

Haskell and Rust developer on Oscoin and Osrank.

  • Took active part in the design and implementation of the oscoin blockchain.
  • Actively working on osrank, a reputation layer for oscoin based on Google's PageRank working against big social graphs that don't necessarily fit into main memory.

IOHK

Haskell Senior Engineer and Middleware Team Leader

October 2017 - November 2018

Haskell developer on Cardano, a next-generation cryptocurrency and platform, and team leader of the Middleware team.

  • Designed and implemented the new backend for Cardano's crypto wallet.
  • Helped developing the new architecture for the post-Byron backend, mainly the consensus library implementing the PoS algorithms (BFT, Praos, Genesis).

IOHK

Haskell Core Developer

July 2017 - October 2017

Haskell developer on Cardano, a next-generation cryptocurrency and platform.

  • I have migrated Cardano's serialisation layer from the store library to the cborg library, together with bug fixing and performance improvement of the existing code.

Iris Connect

Lead Cloud Services Engineer

January 2017 - July 2017

Lead developer on Haskell & PureScript projects, spanning from video transcoding to real time communication (WebRTC). Notably:

  • I have successfully and seamlessly integrated a Haskell microservice into a larger Ruby web application, delivering a customer-facing feature on time and budget.
  • I designed tooling to deploy our whole infrastructure to Elastic Beanstalk, successfully migrating from Heroku to AWS, saving money and gaining system stability.
  • I've designed the architecture for a real-time communication service based on WebRTC, where components written in Swift communicates with a PureScript application via a signalling server.
  • I've designed standalone Haskell applications to be run on AWS Lambda.

Iris Connect

Senior Developer

October 2013 - December 2016

Design and development of medium-sized Haskell & PureScript applications. I'm currently tech lead on a fault tolerant, highly concurrent and distributed video transcoding system, where components written in Haskell communicates via message passing interface using RabbitMQ. Notably:

  • The shared-nothing architecture I've implemented cut 30% of the infrastructure costs, switching from a continuous to an auto-scaling-based cluster, capable to shrink based on load and resource demand.
  • I designed a new scaling algorithm which improved transcoding throughput whilst cutting EC2 billing costs of almost 50%.

Cake Solutions

Software Developer

November 2012 - October 2013

Design and development of medium-sized Scala applications. I joined several projects spanning from game development to biometric security applications.

OSS Contributor

Github

For a long time

I'm a prolific OSS contributor, and listed as such in at least three Haskell projects. I wrote a bunch of independent projects and a couple of Vim plugins.

Education

University of "Roma Tre" - Italy

Master Degree in Computer Science, Summa cum Laude,
grade average 29.4 over 30 (4/4 GPA).

October 2006 - May 2012

Thesis on high-performance, high-productivity oriented GPU computing.

Publications

Articles

A. Di Napoli, F. Gasparetti, A. Micarelli, G. Sansonetti, 'A Step toward Personalized Social Geotagging', IUI 2010 Workshop on Social Recommender Systems, abstract.

Alfredo Di Napoli -- alfredo.dinapoli@gmail.com -- +39 340 94 74 126