← back to posts

Notes on Learning

·general, learning

Notes on Learning

A few principles I've found useful when learning something new.

Build something

The fastest way to learn is to build. Reading documentation and tutorials is useful, but nothing sticks until you've written code that actually runs.

Pick a small project that uses the thing you're learning. Scope it down aggressively—you can always expand later.

Struggle productively

There's a difference between productive struggle and spinning your wheels. If you're stuck for more than 30 minutes on the same problem, step back:

  1. Re-read the error message carefully
  2. Check the docs for the specific function/API
  3. Search for the exact error
  4. Ask for help (or use AI as a rubber duck)

But don't skip the struggle entirely. The friction is where learning happens.

Write it down

After you solve a tricky problem, write a quick note about it. Future you will thank you. This blog is partly for that—a place to capture things I've learned.

Go deep sometimes

It's easy to stay at the tutorial level forever. Occasionally, go deeper:

  • Read the source code of a library you use
  • Understand the underlying protocol or algorithm
  • Build a simpler version from scratch

You don't need to do this for everything, but doing it sometimes gives you a mental model that makes everything else easier.