Academic Mentor & Technical Lead

Self-Employed · Feb 2022 - Present

What I Do

Since February 2022, I've delivered over 800 hours of one-on-one and small-group mentorship to university students in Computer Science and Engineering. The subjects span Machine Learning, Python programming, Algorithms, Data Structures, and thesis-level research guidance.

Beyond tutoring, I act as a Technical Lead for thesis projects, helping students design architectures, debug complex systems, and develop the technical judgment that courses alone don't teach.

How I Teach

My approach is built on a simple observation: students don't fail because the material is hard. They fail because they're missing a prerequisite concept that nobody identified, or because they have a subtly wrong mental model that makes everything downstream confusing.

So I start by diagnosing the actual gap, not the apparent one. A student struggling with backpropagation might actually need a refresher on the chain rule. A student stuck on concurrent programming might have a flawed model of what threads share.

Once the real gap is identified, I use progressive problem solving: start with a problem that's just barely within reach, solve it together, then incrementally add complexity. This builds both competence and confidence.

Impact

Over four years, this work has produced:

  • 800+ hours of specialized mentorship delivered
  • Students across Sapienza, Politecnico di Milano, and other Italian universities
  • Thesis projects in machine learning, computer vision, distributed systems, and GPU computing
  • A deep understanding of how people learn technical material, which directly informs my book authoring and my own study approach

Why I Do This

Teaching is the best way to solidify your own understanding. Every student who asks "but why does it work this way?" forces me to examine assumptions I'd stopped questioning. The mentoring has made me a significantly better engineer.