October 31, 2019
After going through a list of things I wanted to learn, we decided that I learn best by learning about a concept in some way and then build a small, stupid app to cover the ideas. We also learned what sorts of concepts I want to learn, with a clear direction about what to learn next from something I'm picking up at work.
We've covered the exposure stage (top-down) and the practice stage (build something stupid). We haven't yet covered how I best learn about a new concept.
Let's start with a list of what definitely does not work:
Whether they're in-person or online, conference talks tend to be way too hand-wavy and skip over the details that I really need in order to feel like I understand what I'm doing.
I need to be taken into the gritty details, just not too far that it starts wavering into theory. I need the how, and a bit of the why.
I like meetups (and I love lightning talks in-person), but conferences must definitely be for meeting folks, not for learning.
Channels like FunFunFunction feel like they're mixing leisure and learning in a way that I really do not like. It moves too fast to be split-screened with a code example, and doesn't go into enough depth for me to naturally internalize what's being talked about. Straight in one ear and out the other.
I have now unsubscribed from all programming channels on YouTube. I never watch them, anyway. They just sit in my Watch Later and start piling up.
I skim on computers. I read on my phone. Good articles read like books -- I can load them up on my phone and follow along. Context switching between text and code leads me to a lot of copy-pasting. Line-by-line explanations after the code is already copied over are super hard to follow along with.
I can never stick with this long enough to see the usefulness. I hate isolated examples, in any form. They don't stick in my head. I need small examples, but in real contexts. Not isolated.
Literally the worst way to learn. I hate 99% of all developer podcasts. Stay out of my ears.
This really depends on the topic. I will often default to Egghead when I want o learn an extremely specific skill. Examples include, "How do I use hooks?" and "How do I use styled-components?" These are like video versions of going through the documentation.
This only works for specific tooling. I would never do this for learning a new language or framework.
Books... Books... Books... I don't have a lot to say here. I'm trying to read a lot more this year. I haven't decided if I like this yet. I enjoyed reading Clean Code though, believe it or not. It's not a great book, but I enjoyed reading it.
Books are extremely good for absorbing software engineering ideas. I haven't tried textbooks for lower-level concepts yet. Books are bad for learning new languages and frameworks. Books are obviously terrible for specific tooling, since that requires up-to-date information.
This is highly dependent on the lecturer and quality. I find that good lecture styles will use lots of examples that are easy to pause and follow along with. I don't watch at a higher speed, it probably takes me 2x as long as the lecture length.
The ability to learn from docs is almost entirely dependent on the docs themselves. This is good for tooling and frameworks. This is not a good first introduction to a new language or paradigm.
It works... eventually. I don't prefer it. I like knowing the details of the implementaton. I can't just survive off of syntax.
The quality here varies, but tends to live in its best form on Udemy. It's cheap, instructors are incentivized to take things slowly, and it's a low-risk way to get acquainted with a new instructor who you can then trust. I haven't found any instructors off of Udemy that I like more than Mead.
(I have other recommendations in this category if anyone is curious, just ask me.)
Okay, so based on the list above, here's the methods that work for the "type" of learning:
This post will most definitely be updated as I think about this more. This is mostly just a reminder to myself about what to avoid taking on other learning styles that don't suit my own just because I can or because other people say it works for them.
I learn in my own way, and that's okay.
If you liked this post, get updates about new posts by signing up to my infrequent newsletter.