DEV Community

Vitor Yago
Vitor Yago

Posted on

00. The Real ML Engineering Journey: A Year-Long Adventure in Building from Scratch

Have you ever felt that familiar rush of excitement after completing an online course, only to find yourself wondering: “Now what?” I’ve been there. After finishing several DeepLearning.AI specializations (which are fantastic, by the way), I found myself at that exact crossroads. But instead of jumping into another course, I decided to take a different path — one that I’d love to share with you.

Here’s the thing: those courses gave me solid theoretical foundations and helpful practical exericses. But I do think that something big was missing. The messy, challenging, incredibly rewarding experience of building complex ML systems from the ground up (I mean, that’s sounds incredible for at least some of you guys, I hope lol).

So I made a decision that might sound crazy in our “become-an-expert-in-3-months” world: I’m dedicating the next year of my life to building a comprehensive ML engineering project from scratch. No shortcuts. No quick wins. Just real, honest-to-goodness engineering work.

I’m really tired to see some people just stuck in the “Netflix copy course”. Maybe you’ll be familiar with this loop down here, even more if you’re brazilian. I saw that on LinkedIn but I didn’t found the original post, so I create my own version with Canva (I’m not an artist, guys):

Image description

Why a year? Isn’t that so long?

Maybe I’m a little crazy (who knows?). But here’s what I know: real expertise isn’t built in a weekend hackathon or a 12-week bootcamp. Those are great starting points, but they’re just that — starting points.

Claude (❤) helped me creating this brilliant example down here:

Think about it this way: when you’re learning to play an instrument, you don’t jump straight from learning scales to performing at Carnegie Hall. You practice. You make mistakes. You learn the nuances that only come from long-term engagement with your craft.

ML Engineering is no different. Sure, you can learn to train a basic model in an afternoon. But building production-ready ML systems? That’s a different beast entirely. It involves:

  • Wrestling with messy data in ways that tutorials never prepare you for;
  • Building robust pipelines that don’t fall apart when reality throws you a curveball;
  • Creating systems that scale beyond your laptop’s comfortable confines;
  • Integrating modern tools like LangChain and LangGraph with traditional ML approaches;
  • Understanding the deep “why” behind every technical decision (maybe this is the most important thing, by the way).

And that’s exactly what this journey is about.

The Journey Ahead

Over the next year, I’ll be documenting my journey right here on Medium. But, REMEMBER, this won’t be your typical “10 Steps to Becoming an ML Engineer” series. Instead, I’m inviting you into my workshop, so to speak. You’ll see:

  • The dead ends I run into (and how I navigate around them);
  • The “aha!” moments that make everything click;
  • The messy middle where theory meets reality;
  • The evolution of my thinking as I bridge traditional ML with modern LLM approaches.

I’ll be working with everything from AWS, GCP and Docker to Apache Airflow, Hugging Face and Kaggle (two hearts for this dynamic duo ❤❤). But more importantly, I’ll be showing you how these pieces fit together in the real world. Not just how to use them, but why you’d choose one approach over another. AAAANDD, I’ll be learning while I’m sharing, so this is new for me too.

A Different Kind of Technical Content

Let’s be honest: there’s no shortage of ML tutorials out there. But how many of them show you what happens when things go wrong? How many discuss the thought process behind architectural decisions? How many admit that sometimes, the “best practice” solution isn’t always the right one for your specific case?

That’s what I want to bring to the table. Real, unvarnished experiences from the trenches. I want to show you:

  • Why I chose specific tools and technologies (and what I considered but rejected). And I hope this point will bring some healthy discussions to the formum;
  • How different components of ML systems interact in ways that aren’t obvious from individual tutorials;
  • The evolution of my thinking as I encounter new challenges;
  • The mistakes I make and the lessons I learn from them.

Yeah, I do think that you’ve already understood my main goal here, right? I think it’s already too long, so let’s get down to business!!

An Invitation

This isn’t just my journey — I want it to be ours. I’ll be sharing my code, my thought processes and my challenges. I want to hear your perspectives, your experiences and your ideas. Let’s learn together, make mistakes together and grow together.

See you next week, when we’ll dive into setting up our development environment — and trust me, it’s going to be much more interesting than your typical “install these packages” tutorial.

P.S. If you’re wondering whether this journey is worth your time, ask yourself this: in a year from now, do you want to have completed dozens of tutorials, or do you want to have built something substantial that showcases your real engineering capabilities? The choice is yours.

A Note About This Series

A quick heads up: I’m already a few steps ahead in this journey! While you’re reading this first post, I’m busy starting post 4 and I have fineshed the 2nd and 3rd posts. I want this series to be a thoughtful conversation between us, not just rushed weekly updates.

Let’s Connect!
Building a community of passionate ML engineers is part of this journey. If you’d like to discuss ML engineering, share experiences, or even offer guidance, I’d be honored to connect with you on LinkedIn: Vitor Carvalho.

I’m always eager to learn from those with more experience and to share insights with fellow learners.

See you next week sailor!

API Trace View

How I Cut 22.3 Seconds Off an API Call with Sentry 🕒

Struggling with slow API calls? Dan Mindru walks through how he used Sentry's new Trace View feature to shave off 22.3 seconds from an API call.

Get a practical walkthrough of how to identify bottlenecks, split tasks into multiple parallel tasks, identify slow AI model calls, and more.

Read more →

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay