Getting Started: The Autodidact's Notebook

I have a secret laboratory. I carry it with me everywhere.

You can tell that it has seen years of use. The spine depends on duct tape to hold the contents together. A few sticky notes grace the first page: refactoring to-do lists from years ago. The cover sports two patches of robust color. A couple of Github stickers used to be there, shielding the original cover design from fading until I peeled them off.

When I bought the notebook as a fresh Rails developer, I planned only on using it to keep track of blog post ideas. Instead, it became a critical resource as I taught myself how to develop for Rails, Spring, Android, and iOS, and Django. The notebook also helped me improve my technical writing, build my network, and master the foundations of data science and machine learning. As I have continued to work with the notebook, I have experimented with dozens of techniques, several of which have an outsize effect on my ability to build skills and apply new knowledge.

We can use those techniques as a lens to discuss how we learn, and how you can use an autodidact's notebook to be an effective self-taught programmer.

Benefits of a Notebook:

  1. Writing in it forces you to think (thinking fast and slow)
  2. Having a record helps you look back at your progress
  3. Helps to codify focused practice (Grit)
  4. Gives you the freedom to draw pictures and associate (Moonwalking with Einstein)

=====

get better AT getting better at (solving a second order problem)

Choose a curriculum with a deliverable, and only get one degree removed from it

example: ml curriculum to help you make x. study y library to help you use ml to make x. Don't study whatever you need to customize y library. Don't study the math of y. You need something you can track progress and win at without going down a rabbit hole, and you need to learn how to learn JUST ENOUGH for your use case. Why? Because this is how knowledge works in the real world. Rather than be an expert in one thing, you are best off having CONTEXT on a broad set of skills, with the ability to delve into any one of those skills at any time. This is a way to avoid hammer-nail syndrome and end up using the wrong solution for a problem just because you didn't know a better one exists.

That said, you can make a note of things you want to come BACK to. With more context on why you need to know this thing, you will have more motivation to learn it, too

one step further: learning is about being able to produce answers and apply ideas, not just read or memorize them. So take exercises one step further rather than just copying them, to solve problems on your own. Example: implement gradient descent for multiple feature dimensions instead of just one, or come up w new ways to visualize data instead of just graphing it.

results matching ""

    No results matching ""