About Me

In short

I am a researcher and software developer with a great interest in distributed systems, tooling and the combination of those two.

I have large experience working on frameworks for distributed event-driven applications.

I have worked with (and on) a variety of object oriented and functional languages, as well as reflective systems and debuggers.

I have lived in Italy, Spain, and Belgium, and I love working in an international environment.

I love challenges and exploring new solutions to old and new problems.

I speak Italiano, English, Español, Français, and I understand some Nederlands.

My experience

Currently I am a researcher at Nokia Bell Labs in the SDSR Lab, focusing on innovative research on multimodal stream processing.

In my tenure at Nokia Bell Labs I have been involved in several projects, from federated stream processing in the context of Industry 4.0, to, more recently, applying modern stream processing and GenAi techniques for automating networks orchestration.

I started my career completing a bachelor in computer science and engineering at the Università degli Studi di Bologna (campus of Cesena), followed by a master at the Vrije Universiteit Brussel, and, finally, a PhD at the same university obtained in May 2022.

During my PhD, I worked at the Software Languages Lab under the supervision of prof. dr. Elisa Gonzalez Boix . In my PhD, I focused on designing and implementing novel debugging techniques for Big Data applications. This brought me to study deeply how complex Big Data systems work, in order to extract debugging insights from them. My PhD was supported by a Strategic Basic research grant from FWO (Flemish research fundation). I also cooperated with the RMoD research lab at INRIA Lille - Nord Europe under the supervision of dr. Guillermo Polito.

Before joining Bell Labs, I did a short post-doc at the Software Languages Lab where I worked on debugging of asynchronous programs on Truffle languages on GraalVM.

While doing my master, I worked as a part-time software developer for Elements, a company that builds instrumentation for electrophysiology. There, I was responsible of the creation and maintenance of EDR 3, a software for realtime visualization and analysis of data, and EDA, an offline data analysis software.

Skills

Below you can see the list of programming languages and frameworks I am most familiar with

Typescript/Javascript @ Node.js Work Experience (Current Role)
Pharo SmallTalk Work Experience
Java Work Experience
PythonWork Experience (Current role)
C/C++ Work Experience
Scala Work Experience
Spark Deep Knowledge
Map/Reduce Very Good Knowledge
QT Past Work Experience

I also have knowledge and student experience using Common Lisp, Erlang, Clojure, Scheme, Haskell, SQL, HTTP

Summary

Matteo Marra

Research-oriented software developer with a PhD on debugging Big Data applications and work experience in real-time analysis of data.

  • Strong experience in programming distributed systems
  • Located in Brussels, Belgium
  • Email: contact.mmarra \at gmail \dot com

Education

Doctor of Sciences

2017 - 2022

Vrije Universiteit Brussel, Belgium

PhD titled "A live debugging approach for big data processing applications"

Master of Science in Computer Science

2015 - 2017

Vrije Universiteit Brussel, Belgium

Degree obtained with Great Distinction

Bachelor in Computer Science and Engineering

2012 - 2015

Università di Bologna, Italy

Degree obtained cum laude

Professional Experience

Researcher Software Engineer

2023 - Present

Nokia Bell Labs, Belgium

  • Building a multimodal and geo-distributed streaming platform.
  • Designing systems at the frontier between agents and stream-processing.
  • Working mainly in Typescript on Node.js, Python, and GStreamer.
  • Enabling the distribution of multimodal AI/ML workloads and easy ML pipelines authoring.
  • Enabling the creation of dynamic-topology streaming pipelines that preserve exactly-once and fault tolerance guarantees.
  • Day-to-day work experience with RabbitMQ, Kafka, Kubernetes, and Docker Compose.
  • Supervise interns, collaborate with universities and PhD students

Post Doctoral Researcher

2022

Vrije Universiteit Brussel, Belgium

  • Programming languages research on debugging asynchronous programs in the context of truffle-based languages
  • Supervise Bachelor and Master students
  • Collaborate with a PhD student, particularly to apply my debugging approach to IoT applications

Pre Doctoral Researcher

2017 - 2022

Vrije Universiteit Brussel, Belgium

  • Devised a novel debugging solution for Spark-like and Map/Reduce applications
  • Prototyped two debuggers
  • Developed two frameworks for distributed Big Data processing in Pharo Smalltalk
  • Cooperated with the RMoD Lab at INRIA Lille
  • Teaching Assistant for the Metaprogramming and Reflection master course (5 academic years)
  • Teaching Assistant for the Big Data Processing master course (5 academic years)

Part-time Software Engineer

2015 - 2017

Elements srl, Italy

  • Main developer of EDR3, software for online data analysis
  • Main developer of EDA, data analysis and visualization
  • Working in a diverse team of researchers in different fields
  • Work done in parallel to my master studies

Publications

A Control-Flow Graph Approach to Language-Agnostic Debugging for Microcontrollers.

MPLR '25. Proceedings of the 22nd ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, 2025

Out-of-things Debugging: a Live Debugging Approach for Internet of Things.

<Programming> '23. The Art, Science and Engineering of Programming, Vol. 7(2), 2023

Event-Based Out-of-place Debugging.

MPLR '22. Proceedings of the 19th International Conference on Managed Programming Languages & Runtimes, 2022

A live debugging approach for Big Data processing applications.

PhD Thesis. Vrije Universiteit Brussel, 2022

A live debugging approach for Spark-like applications.

QRS '21. International Conference on Software Quality, Reliability and Security, 2021

WOOD: Extending a WebAssembly VM with out-of-place debugging for IoT applications.

VMIL '21. Workshop on Virtual Machines and Language Implementation, 2021

A Survey on Mobile Applications for Smart Agriculture: Making Use of Mobile Software in Modern Farming.

SN Computer Science, Vol. 2(4), Article 293, 2021

Framework-aware debugging with stack tailoring.

DLS '20. Dynamic Languages Symposium, 2020

A debugging approach for live Big Data applications.

Science of Computer Programming, 2020

Towards scalable blockchain analysis.

WETSEB '19. Workshop on Emerging Trends in Software Engineering for Blockchain, 2019

Out-of-place debugging: a debugging architecture to reduce debugging interference.

<The Art, Science, and Engineering of Programming, 2019, Vol. 3, Issue 2, Article 3

A debugging approach for Big Data applications in Pharo.

IWST '18. International Workshop on Smalltalk Technologies, 2018

Debugging cyber-physical systems in Pharo: an experience report.

IWST '17. International Workshop on Smalltalk Technologies, 2017