DEV Community

Jenniferwonder
Jenniferwonder

Posted on

How to Boost Learning Efficiency: 9 Tips You Should Know

Intro

When we start off learning programming or anything new, a common mistake we'll make is that we try to learn it fast, but the hard truth is we'll end up forgetting faster. How can we avoid learning fast and forgetting faster? In this artical, I've summarized 9 techniques to boost our learning efficiency.

1. Understand your GOAL and TIME

  • Long-Term Goal > Be Optimistic

    • What you want to achieve ideally in the long run
    • How to start a business that can generate value consistently and exponentially?
  • Short-Term Goal > Be Realistic

    • What you need to achieve and will be judged upon in the short term, like this one
    • How to Be Job Ready ASAP?
  • Time is LIMITED

    • Always bear in mind that we don't have infinite amount of time. We will soon get old!. Time is the most valuable resource that we have. We got to decide what's best for our life, how we want to spend our life, and what we want our life to be!

2. Focus on what's really important!

The worthwhile problems are the ones you can really solve or help solve, the ones you can really contribute something to… No problem is too small or too trivial if we can really do something about it. - Richard Feynman

  • Before you can focus, find out what's truly important to you.
  • To be Job Ready ASAP, work on
    • ⭐Projects
    • ⭐Blogs/ Contribution
  • For your Long-Term goal, find out
    • What value is lacking
    • What value you want to/can bring
    • How many people can benefit from?
    • How to bring that value to them efficiently and consistently

3. Divide your problem into smaller pieces by asking questions

Dividing tasks is a crucial step to solving bigger and complex problems! To build projects as efficiently as possible, list the questions or tasks you need to solve. Ask yourself:

  • What projects do I want/need to build?
  • How to build them fast? > Be Resourceful
  • What skills or tools do I use to build, test and deploy them?
    • Why do I use them?
    • How to use them?
  • In each project,
    • What aspects do I improve?
    • What problems/bugs do I fix?
    • What features do I add?

4. Be Resourceful to save your time

  • Don't start from scratch.
    • Use tools/ existing resources to solve problems smartly
    • Stand on the shoulder of Giants
    • Repect and learn from existing works or solutions.
    • You don't need to be the smartest one.
  • Avoid reinventing the wheel
    • If you don't like something, improve it or provide your better solutions.

5. Set a Deadline for each task but Don't Rush

You need to know when you are ready enough to move to the next step. There must be No RUSH!

Make sure you have a note of the problem, your thinking, your questions, the efforts you've made, the resources and solutions you find, the result you get, other options, potential risks and possible improvements. It's for future reference and self-improvement, and also an utmost step to prevent learning and forgetting.

Have a deadline in mind. Accept the fact that what you've done is not perfect. It's OK to leave room for future improvements. Just make sure you have at least a skeleton or something coming out first.

6. Share for futher improvements

Once we solve a problem, it's important to consolidate our knowledge and experience into something we can share, and share in a way that's easy to spread, understand and consume.

Because only by sharing, our thinking or solutions can benefit or be improved by more people, and finnally become a collective wisdom to make the world a better place, and we ourselves will benefit from it to a greater extent. As a side bonus, it'll help build up reputation for our career portfolio.

The ultimate goal of learning is to Contribute more than we consume. That means we have to make something more valuable with the existing technology or resources we benefit from, which is never easy but at least we can create as much value as we can. There are many ways of sharing:

  • Writing blogs
  • Answering Qs
  • Showing support to others' posts by sharing, liking or commenting

But don't get too invloved in sharing alone. Solve actual problem first!

7. Practice with a purpose

Practice makes perfect, but we can't afford to practice as much as we can. It's important to know the purpose and the expected outcome of each practice we want to start before we jumping into it.
Know your goal first and learn the necessary knowledge or skills to help you achieve the goal.

  • Brainlessly coding along is stupid.
  • Endlessly digesting knowledge is stupid.
  • Carelessly doing projects with no researching, thinking, sharing, reflecting, refining, organizing and reviewing is stupid.

8. Set up a Note system and Reviewing habit

Review your notes and progress regularly, build connections and write reflections, so that you can make further improvements. For your efficiency, choose a Note App.

I've tried different note apps including Notion, Yuque, but the best one I find is Obsidian.

Obsidian App

It's free, safe and flexible, and can basically satisfy all your needs in note-taking, like creating links among different notes, supporting different views (table, graph, calendar, tags, outline...), customizing themes and shortcuts, markdown editing and preview, quick seach and switch, to name a few.

And I have written a Chinese blog about my experience with Obsidian. Obsidian: The Best Note App I've Used But you'll surely find better tutorials online.

9. Feynman Techniques

The Feynman Technique: The Best Way to Learn Anything - Farnam Street

Feynman Technique is regarded as the best way to learn anything. Here are the four key steps:

  1. Choose a concept you want to learn about
  2. Explain it to a 12 year old
  3. Reflect, Refine, and Simplify
  4. Organize and Review

Conclusion

To sum up, it's always worth investing time to reflect on our learning strategies so that we can learn effectively and make better use of our time.

Hope to learn from you and share more tips and lessons with you in this journey.


I'm Jenniferwonder, a self-taught front-end engineer from China, currently learning React and Next.js and this is my first blog on DEV Community. If you have any suggestions, please leave a comment below. If you benefit from this article, please feel free to share it with other people. I will very appreciate it.

Top comments (0)