Download PDF

Silvano Cerza — Software Engineer

Silvano Cerza

Software Engineer

I'm a software engineer based in Matera, Italy, with 10 years of experience. I've been working remotely for the last 8 years. I'm a generalist, though I have more experience with Python. As an Open Source enthusiast, I maintain and contribute to various projects. Occasionally, I speak at conferences such as DataDog DASH and PyCon DE, as well as at local meetups.

Work Experience

Deepset

Jan 2023 - Dec 2024

deepset.ai
At Deepset, I was one of the key developers of Haystack, one of the most widely used AI frameworks for building RAG and Agent applications. During my tenure, I was responsible for leading significant architectural decisions during the platform's rewrite for the 2.0 release. I developed the core execution logic of the library, enabling the efficient creation of agents, which contributed to an increase in our user base and client acquisition. Additionally, I significantly overhauled the CI processes, reducing tests runtime and minimizing the need for human intervention, thus streamlining the deployment of critical fixes.

Python

GitHub Actions

Pitch

Apr 2022 - Sep 2022

pitch.com
At Pitch, I was a member of the DevOps team, responsible for overseeing the entire release process. I significantly simplified this process to enhance both the DevEx and the UX for end users, resulting in more frequent updates to the latest version of the app. Together with my team, I also managed the testing processes in CircleCI, focusing on improving the DevEx for other teams. Additionally, I contributed to the main product application by writing code in Clojure and ClojureScript.

Clojure

ClojureScript

Python

CircleCI

Arduino

Jul 2020 - Mar 2022

arduino.cc
At Arduino, I was a key developer of the Arduino CLI and contributed to Arduino IDE 2. In this role, I managed the build and release processes, as well as the CI infrastructure. Additionally, I developed the release and notarization process for the Arduino CLI on macOS.

Golang

Python

TypeScript

GitHub Actions

Molecular Horizon

Jul 2019 - Jul 2020

molhorizon.it
At Molecular Horizon, I contributed to several desktop applications for medicinal chemists. During my time there, I took the lead on a modernization project to transition the company's entire build system, as well as that of a closely collaborating partner company, from Bitbucket and BuildBot—managed by a single individual—to GitHub Actions, accessible to all developers.

C++

Qt

QML

Qt Quick

GitHub Actions

Projects

Haystack

/deepset-ai/haystack
Haystack is an Open Source LLM framework that allows you to build applications powered by LLMs, Transformer models, vector search, and more. I was one of the main developers and participated in a major rewrite of the project, heavily influencing architectural and design decisions.

Python

GitHub Actions

PromptHub

deepset-ai/prompthub
PromptHub is a web service for managing and retrieving LLM prompts, built with Go and packaged in a single Docker container. Runs on AWS ECS with CI/CD pipeline that trigger a deploy whenever a new git tag is pushed.

Golang

AWS ECS

Docker

GitHub Actions

Obsidian GitHub Sync

/silvanocerza/obsidian-github-sync
A plugin for Obsidian that syncs your notes with a GitHub repository and vice versa. It uses the GitHub REST API for synchronization rather than git to maximize compatibility with mobile devices and other systems that do not have git installed.

TypeScript

React

Node

GitHub Rest API

OrchestrIA

/orchestria/orchestria
A versatile agent orchestrator written in Python. Configurable from the command line and with a YAML manifest, it facilitates the creation of tools from existing command-line utilities.

Python

Kibitzer

moldiscovery.com/software/moka
Kibitzer is a desktop application designed to train computational models used for predicting the pKa values of molecules. I integrated multiple C and C++ libraries in a multi-threaded environment to speed up statistical computations, thereby improving the user experience.

C

C++

Qt

QML

Qt Quick

Arduino CLI

/arduino/arduino-cli
Arduino CLI is a command-line tool written in Go, used to manage and install libraries, the tools necessary for compiling and uploading to different Arduino boards, and several other functions. Among its features, it also serves as the backbone of the new Arduino IDE, communicating through a gRPC interface.

Golang

Python

gRPC

Protobuf

Arduino IDE 2

/arduino/arduino-ide
Arduino IDE 2 is the latest version of the popular Arduino IDE used by millions of makers worldwide. This new version has been rewritten from scratch using Electron and the Theia framework. It utilizes Arduino CLI internally to implement most of its features. I implemented several minor features, fixed existing bugs, and handled the integration of new functionalities from the Arduino CLI.

Node

Electron

React

TypeScript

Theia

MKM SDK

/silvanocerza/mkm-sdk
An open-source SDK for Magic Card Market, using reflection to dynamically resolve API endpoints.

Python

OAuth

Caina

/silvanocerza/caina
An experimental Rust library implementing the BitTorrent protocol.

Rust

Datadog Agent

/DataDog/datadog-agent/commits/main/?author=silvanocerza
I contributed to 'Six', a C++ wrapper around the CPython API supporting multiple versions of Python that can be utilized by other languages such as Go.

C

C++

CPython

Go

Home Server Services

/silvanocerza/personal-services
A collection of services running on my small home server. Utilizes Traefik as an application proxy and Docker Compose to manage the services. Most services are exposed to the local network, allowing access from anywhere via a WireGuard tunnel and custom DNS.

Docker

Traefik

WireGuard

This Resume

/silvanocerza/resume
This resume is built with Next.js and Tailwind CSS, and it is exported to PDF at build time in Vercel.

React

Next.js

Vercel

Tailwind CSS

TypeScript

Node

Recorded Talks

Monitoring Open Source Success in Arduino

Oct 2021

/watch?v=C4JxwgNnIWU
In this talk, I share the story of how my team began using Datadog in an unconventional way to monitor the success of one of our most important Open Source projects, the Arduino CLI. We gathered download information from various sources and monitored build failures. I also explore potential next steps for gaining deeper insights into our other projects.

Haystack 2.0: The Story of a Rewrite

Apr 2024

/watch?v=0CNSvGlMNSo
This talk focuses on the story of the Haystack 2.0 rewrite that my team and I undertook. I discuss the pros and cons of starting a rewrite and outline important tasks to consider before embarking on such a journey. In the end, I also present some differences between Haystack 1 and 2 to highlight the improvements we achieved through the rewrite.