Your Meta Code Learning Strategy

With how fast things change these days I would argue speed of learning is far more important than what you know now.

I’ve been deconstructing the learning process for me, and would like to hear what other’s process maybe to see where/how I can improve mine.

A few things I’ve observed about myself:

A) I don’t seem to really understand a framework in-depth until I’ve coded my own project in it. Follow along type tutorials can only give me a surface level understanding. It doesn’t really integrate until I’ve built my own project.

B) I don’t really understand a framework very well until I get a high level overview. I have to have the context well laid before I learn the details & moving parts. Understanding the origins & something about the creators seems to help me learn the codebase faster.

C) I seem to learn best in sprints, focused on a tightly defined outcome only.

D) Reading others code that solves similar problems seems to teach me the most aside from actually coding something.

My current process:

  1. Get clear about the problem I want to solve.

  2. Mind map the problem & what the ideal solution would look like.

  3. Get a broad strokes overview about existing solutions that might solve the problem through some web searches & forum questions.

  4. Narrow down to 1 solution.

  5. Lay the context of that solution by finding out some about its origins & creators.

  6. Find some digital books that cover the topic.

  7. Speed read them, not really trying to grasp the topic yet, not trying any of the code examples, but just get a high level overview – with enough grasp that I can understand others code in that language/framework.

  8. Find code examples that solve similar problems & study them. Web search anything I don’t understand in the code.

  9. Cut & paste code examples together to solve my problem in a hacked together kind of way.

  10. Use the relevant chapters in the digital books to refactor & clean my code.

  11. Write another project that integrates what I learned from scratch.

Sticking points / friction (if you have some solutions):

  • Getting expert opinion fast. (I hate waiting ;).

  • Finding the right digital book that covers the topic starting with the right level of simplicity, layering the complexity at the right pace. (Often they just don’t exist.)

  • Finding code examples that closely match the problem I’m trying to solve.

Optimizations:

  • Shutting down all other threads & inputs during a sprint. No email. No social media. No news. No other inputs during a sprint.

  • Mini workouts, following a 50 min focus, 10 min break.

  • Green / reishi / turmeric tea. (Anybody else remember it spelled “tumeric” growing up?)

  • Brain entrainment apps & tracks.

  • No wifi, low EMF environment, with everything hard wired. (Wifi messes with my sleep & focus as a result… I don’t think I’m the only one.)

So what’s your current process? And how might you improve mine?

3 Likes

I wrote a post about this a few years ago :003:

http://astonj.com/life/best-way-to-learnreadstudy/

I tend to learn a language best by seeing how it is implemented. This is easy if it is something like Elixir since its base code is written in Erlang (which I already knew and used very well).

For something fully compiled, like Rust I try to discover ‘why’ it solves things the ways it does. Syntax is easy to learn (usually, there are some stupid languages), but figuring out ‘why’ everything is the way it is makes me fall in to the ecosystem of its design far far faster than I could otherwise.

1 Like