Stop Copying - Start Building Reusable Knowledge
An argument against shallow tutorial hopping and in favor of reified personal understanding.
Hey, A.
I know the loop too well. Half a dozen Colab notebooks open, each walking you through yet another “state-of-the-art” model. A new framework tutorial bookmarked. Today it’s LangChain, last week it was BentoML. Another architecture diagram promising to “simplify production ML.” It feels like learning, but more often it’s inertia disguised as progress.
Each new tab gives you a quick dopamine hit. A clean example, a pretrained model, an end-to-end pipeline that runs — until it doesn’t. Until you need to adapt it. Until the shape of your real-world problem no longer fits the neat assumptions of the demo.
That’s when it becomes clear: you didn’t learn the system. You borrowed it. You replicated someone else’s solution without internalizing the tradeoffs, the context, or the constraints it was designed for.
The truth is: copying from tutorials is not the same as learning. At best, you’re borrowing someone else’s context. At worst, you’re training yourself to assemble systems you don’t understand.
Real knowledge — the kind that stays with you and grows over time — doesn’t come from passively following along. It comes from building, breaking, debugging, and asking hard questions. From getting stuck and learning why. That’s what I mean by reusable knowledge: insight you’ve earned through friction, not just absorbed through repetition.
A while ago, I was working on a vision pipeline for an edge device with limited memory. I followed the usual path: search the docs, skim some blog posts, run a few example scripts. The pipeline worked — barely — but I couldn’t explain how. It felt fragile. Every time it failed, I had to start over, guessing at causes.
So I paused. Stripped things down to basics. Measured memory usage, traced latency, re-implemented small pieces. Slowly, the whole system became clear. I stopped depending on tutorials because I had built a mental model that made sense — one I could use again in other projects. That’s the point. Knowledge that sticks isn’t tied to a single problem. It becomes part of how you think.
Reusable knowledge has three key traits:
It helps you understand systems, not just tools.
It applies across projects and domains.
It gives you confidence in the face of complexity.
Copying teaches you none of that. It’s like learning to cook by watching someone else stir the pot. You might know the steps, but not the reasons behind them.
What’s worse: tutorials can give a false sense of competence. You feel like you’ve learned something, but when it’s time to build from scratch, the gaps show up fast. And that’s the real cost: time spent re-learning instead of building forward.
So what should you do instead?
Go deeper, not wider. Pick one problem and work through it until you really understand what’s going on. Write things down. Break them apart and rebuild. Explain what you learned, even just to yourself. If you still need a tutorial, use it as a reference, not a guide.
Learning isn’t about covering more ground. It’s about building stronger foundations.
You’ll get there. You already did.
—Yours, a few years down the road.
The version of you that finally stopped copying, and started building for real.