When I seriously started learning programming about 8 months ago, I had a hard time memorizing important concepts that I was learning. The process went something like this:
Learn about some JavaScript concept. Let's say clousures.
- See it used on a tutorial some days later.
- Try to recall what closure is but fail.
- Google around and discover 4 more slightly different explanations of what clousure is.
- Get frustrated, give up on trying to really understand clousure and move on with the rest of the tutorial.
I knew this was not going to be sustainable. It all changed when I watched this course on Udemy (only $10 at the time!). What is so great about the course is that it throughly explains in detail, all the other concepts needed to explain one concept. It felt like reading a good story.
I started writing a blog post to help me memorize the concepts.
The post ended up being 1500 words long! This might not be a lot for regular bloggers, but for me, I hadn't blogged 1500 words in total before.
For each concept learned, I created my own example/implementation of it. The point was not to fully understand all the concepts, rather it was to document each concept and concretize it in my own terms.
This meant that every time I forget what a concept entailed, I no longer frantically google it. Rather, I comeback to my blog post and acclimate myself again and again. If I have learned something new in between, then I modified the blog post accordingly. The repetition of this process allowed for concepts to sink in my head organically. This way, I no longer solely relied on memory retention.
I've repeated this Blogging Driven Learning method a few times now and it's been working great!Â
- I wrote this to learn about Node JS
- I am also currently doing a series on Data structures and Algorithm in Javascript: Lists, Stacks, Queues, Linked Lists and more coming soon!
So in the end blogging has become a reliable cheat sheet / documentation written for myself. And now my blog is full of unpublished drafts about all kind of topics (programming, meditation, architecture...) that I plan to explain to myself using the same method.
There is of course another dimension to blogging: It's Public! In fact that is the scary part in all of this, specially writing about technical topics. The most important realization that helped me get over this fear is the fact that I'm really blogging for myself. It just so happens that other people can also see what I write.
If other people find what I write useful, great! However, as far as I'm concerned, my blog has an intended grand audience of one person.
p.s. If you are looking for a fronend dev who's always eager to learn 😉, ping me @tamrrat !
Top comments (13)
Couldn't agree more! Good article & hope it sparks more learning-related-blogs!
Thanks kim! Yup I love following other people's blog based learning journey.
Thanks Tamrat, I really like this idea. This reminds of a quote, "If you can't explain it to a six year old, you don't understand it yourself". I've been mentoring students in Swift and iOS development lately. When I have to explain how things work, I really need to know what I'm doing even though I've been doing whatever that thing is for years. This is good stuff!
That's a great way to learn! I'm also starting out as a technical blogger and programmer and this is a tip I'll also use to drive any information I learned to home. Thank you for sharing!
I totally agree. Since I started writing about code and generally teaching, my personal understanding of the topics has skyrocketed.
Yup, ironically, teaching is the best way to learn!
Good article
I try to do something similar.
If there is a concept or something that I don't understand I will look it up and write it down in a notebook. Then a day or two later I will type out what I wrote down.
Writing out and articulating my thoughts on what I've coded is so helpful to my learning. Glad to see you and lots others agree, too!
This concept has a short name - "Teach what you learn" :)
Great idea!
Great article, thanks Tamrat! Any suggestions on setting up a blogging platform? What did you use for tamrat.co?
Thanks Brady! For my site I'm just using a simple Wordpress setup with a highly customizable theme called LayersWp(free). You can also use Github pages with Hugo or Jekyll. But honestly the best blogging platform is the one that lets you start blogging the fastest! So you don't have to setup your own domain and you can just start blogging here @ dev.to or Medium. Hope that helps!