DEV Community

Alex Chiu
Alex Chiu

Posted on • Edited on • Originally published at chiubaca.com

Managing your self-learning

It feels like there is endless content for a developer to learn. It can sometimes feel a bit overwhelming.

I find it is important to have some sort of system in place to help manage and reduce the cognitive overload of remembering what you want to learn.

I personally like to use Notion and the board feature. Its very similar to Trello.

Notion Board with lots of tasks

It's great way to see the big picture of everything you're doing and track your progress. Also its nice to look back on it at the end of the year and see all the things you have completed.

I'd like to share some things I have learnt which have helped make using this board more effective for myself to keep on track of my goals.

1) Prioritise

It's so easy to be seduced by the next new shiny framework and you know what, that's ok! I put it on the list and make sure I prioritise it. For example, want to learn React? Well you best make sure you have your JavaScript fundamentals in place first! Make sure your "learn JS fundmentals" card is above your "Learn React" card.

2) Break down the task

I've got some quite broad tasks on my board such as "Learn TypeScript Fundamentals". To help stay focused on completing the card. I've broken down what the fundamentals are so I can clearly see what I need to cover.

Notion task opened

3) Be specific

This leads me on to my next point. Be specific with that you want to learn. I find I struggle if my card is too broad. For example if I had a card like "Learn CSS", there is just too much to cover. Try to hone in on something specific like "Learn the basics of CSS animation". Then follow step 2 and break it down further.

My system is not perfect and I'm trying to always evolve it. I'm curious how others manage their self learning. Do you do something similar?

Top comments (9)

Collapse
 
hditano profile image
hditano

Nice post.
How do you manage implementing what you learned??.
I started learning C# a few days ago...and starting with a small calculator...morphed to a Menu kinda system where you can choose to go to specifics topics learned.
Either way i do not think this is the best way to do it.
Any advice??

Collapse
 
chiubaca profile image
Alex Chiu

For me, side projects are really important. When I learn a new technology I like to have something in mind of what I want to build. For example I started learning Vue.js and I knew in the back of my mind I wanted to build a journal app for myself. So whilst learning vue.js i'm constantly thinking how a particular API could be used for a certain feature.

I also like to use the boards feature in Github too! Here is Github board for one of my projects, its follows the same pattern as my wider learning objectives - github.com/chiubaca/vue-netlify-fa...

Priortise , break it down and make the task specific!

Collapse
 
hditano profile image
hditano

didnt know about that board...gonna implement it!!.

What about when you start a new language or technology than you do not know how to implement such a thing?.
Do you get on any particular project tutorial??

Thread Thread
 
chiubaca profile image
Alex Chiu

If it is something brand new I'm learning, I like to see an overview of what is possible. So you say you're learning C#. If I was brand new to it, would like to find some articles or videos which explained the types of things which can be built with C# , this will hopefully spark your creative juices and inspire you to with something you personally want to create . Lets say for example you want to make web applications. Constantly remember this end goal, whilst you learn the fundmentals of c# and constantly think how different libraries, frameworks and design patterns links back to how c# is used for web development.

I like to mix up my learning. I like to learn the fundmentals before diving into a project. When I get stuck on a project, I will often revisit the fundmentals again and go back and forth.

I hope this helps!

Thread Thread
 
hditano profile image
hditano

Thx for your help!!.

At the moment i'm working on Generics, Collections, etc and pretty much updating my little project with all the new syntax that's going on.

What about a proper path to take for someone who seems a non-visual person (going for backend).

C# -> WPF -> ASP.NET CORE -> ANGULAR (along with HTML, CSS, JS) -> API Development .

Thx!

Thread Thread
 
chiubaca profile image
Alex Chiu

Yes, a learning path is crucial. I can admit I didnt not give myself a proper learning path when I first started out and was not focused enough. The fact, you have path in mind is great and you're already setting yourself up to succeed.

Collapse
 
david_ojeda profile image
David Ojeda

Great post, thanks! It takes discipline to be an effective self-learner.

Breaking down tasks into smaller, digestible chunks can make a huge positive impact πŸ™ŒπŸΌ.

When I'm learning a new technology, I need to build/create a project to see how each piece fits together. My process goes something like this:

  • Get interested in a new technology.
  • Read what other people who have used it say about it.
  • Define a small app/project to build with the given technology.
  • Skim almost all the documentation.
  • Start building and fill the gaps on the run!
Collapse
 
chiubaca profile image
Alex Chiu

Thanks David! sounds very similar to mine. Skimming through the docs is a great tip! I've lost count of the amount of times i've said, "oh I didn't know you could do that!". When if I had just read the docs, i could have saved loads of time!

Collapse
 
david_ojeda profile image
David Ojeda

Yes! That's the exact reason I skim the docs now πŸ˜‚