Learning is a commonplace issue, especially in the context of today's Internet technology iteration is getting faster and faster, and the pressure of competition is increasing. It has become an essential skill for "natural selection and avoiding elimination" in the social ecology. Although learning requires methodology, there is no set of learning methods that suits everyone. The truly effective learning methods vary from person to person, and the one that suits you is the best.
I once read an article about sharing efficient learning, which introduced the four-step method of rapid learning, and I benefited a lot from it. This article combines personal learning experience and makes further refinements on its basis, dividing the learning process into eight steps:
Step 1: Establishing goals
Learning The first key is to set clear goals and achieve the learning outcomes. However, most people do not do well in setting goals, and even immerse themselves in studying from the beginning. If the goals are not clear, then everything will be a waste of time.
Goals can be divided into big goals and specific sub-goals (i.e. long-term goals and short-term goals). When establishing goals, we can learn from the "SMART" principle - Specific, Measurable, Achievable, Realistic, and Timed.
Step 2: Split the tasks
We previously determined the goals and detailed specific short-term goals. Next, we split each goal into specific executable tasks through reverse decomposition.
Tasks are actually a series of things we need to complete in the process of achieving our goals. The process of splitting tasks also needs to ensure that the tasks are specific, executable, and achievable. A task can also be subdivided into multiple sub-tasks. When we clarify and list the tasks to be done one by one, it will be more conducive to subsequent execution to ensure the purpose and directionality of execution.
Step 3: Collect knowledge resources
When we learn a knowledge, we must collect a large amount of information, such as consulting relevant books, online documents, video tutorials, etc. Especially now that the Internet is so developed, it has greatly reduced people's learning costs.
In order to avoid everyone making the same mistakes, I would like to share with you my experience and lessons in collecting resources.
1. Official and authoritative tutorial resources are preferred.
Official document tutorials are the most reliable. We can get the latest and most authoritative information from them, especially friends in the IT circle who feel the most about this. And many first-hand resources are in English, and domestic translation is worrisome, so we have listened to the teachings of our seniors very early on, "If you want to make a breakthrough in technical capabilities, you cannot escape the English test."
Secondly, when choosing books, I suggest you read book reviews first. For Chinese ones, read Douban, and for English ones, read English Amazon reviews. Compare several books in parallel and choose a few that are recognized as good books with good reputations.
2. Don’t blindly draw too many pictures.
This is quite a painful realization. When I first learned web development, I collected various tutorial resources, many sets of video tutorials, numerous PDF documents, bought many books, downloaded many tools, and even I regard this as a treasure and it is still stored in my 500G mobile hard drive.
Excessive resources will waste your precious time and energy. For example, when I am learning a programming language now, the official manual, a book and a computer are enough.
Step 4: Allocate your own resources
This step will involve a difficult but important subject - time management. We won’t elaborate too much on time management here, because this problem varies from person to person and there is no one-size-fits-all solution.
Our time, energy and other resources are limited, and it is impossible to distribute all knowledge equally among limited resources. For the knowledge resources we collect, we must prioritize them and then use different time management strategies to learn.
Everyone’s situation is different. Here is my method. I roughly divide time into fragmented time and block time. Use odd moments, such as commuting to and from get off work, waiting time, etc., to learn something that can be rewarding just by reading. Use longer blocks of time where you can sit in front of the computer to focus on learning content that requires practical operations. Make a to-do list every week and you will know at a glance what time to do.
Step Five: Study Diligently
After the preliminary planning work is completed, the next step is execution. An important issue here is also involved is the learning method.
Have you ever had such an experience: take out a book, start reading from the beginning page by page, and then after three days of fishing and two days of drying the net, start again from the beginning. Studying page after page, and then falling into an endless loop... Many people have poor self-study results. On the one hand, it is a self-management problem, and the most important thing is improper learning methods.
My teacher once said, "The more you read, the thinner the book becomes, and the more you write, the less code you write." In the process of learning, we are actually constantly digesting the written knowledge into our minds. To digest knowledge, we must also pay attention to methods and combine our own experience. Here I divide reading and learning into three stages:
1. Rapid and extensive reading
When we were in school, we were constantly taught by our teachers that “the first step in reading comprehension for exams is to read the entire text.” The same is true for learning a piece of knowledge. The main purpose of extensive reading is to sort out the core concepts, key points, framework logic, etc. of knowledge.
For example, when you pick up a book, you usually read the preface first, which is a dialogue with the author. Then there is the table of contents. Understand the knowledge structure and framework logic of the entire book. At the same time, you must also extract the key and difficult parts so that you know them well. Then read the whole book extensively. During the extensive reading process, we mainly focus on the core concepts, ideas, explanations, and framework models. This process does not require us to have an in-depth understanding of each point. Finally, mentally review the logical structure of the entire book.
2. In-depth interpretation
The purpose of in-depth interpretation is to firmly master the basic skills of knowledge and gradually understand the principles of knowledge in depth. This is also the way most people learn. Every knowledge point and key point is our spiritual food, and in the process of learning, write down the questions we don’t understand.
3. Problem study
Problem study means starting from the problem and finding answers from various knowledge resources in order to solve the problem. If a certain problem takes a long time to be solved, it may be that you are not able to solve the problem at this stage. At this time, you may ask others for advice, or you may put it aside for a while, and then come back to continue studying after learning other things. .
Step 6: Establish a knowledge system
Don’t think that this step is optional. Establishing a knowledge system will help us clarify various concepts and knowledge points. The connections among them gradually form a systematic knowledge system. Based on the previous extensive reading and in-depth interpretation, we can gradually build a knowledge system. (You can use freemind, xmind and other brain mapping tools here.)
Step 7: Ask a question
Based on the previous questions and if you still have unsolved problems after studying them, ask others to get help. Asking questions is also an art. It is still a process of learning and communicating, rather than letting others solve the problem that you should solve.
Here is something I hope everyone can encourage: the so-called diligent study and good questioning, and being good at asking questions must be based on diligent study. Because I find that a lot of people completely reverse this order. For example, even if manuals, documents and other tutorials are right in front of them, they are not willing to look at them. Instead, they will ask others directly, let alone go to Baidu and Google to try to solve the problems themselves. In fact, many problems can be solved in the documents. On the surface, it is to save time, but in the end, even if the problem is solved, I have not learned anything.
So, "Just ask if you don't understand" is not a good study habit.
Step 8: Share the retelling
The famous "Feynman Technique" is used here: treat yourself as a teacher and transfer the knowledge you have learned Tell others (personally, I think writing an article or recording a video is fine). In the process of explaining to others, you may encounter "stuck", or you think you have explained it clearly, but others just can't understand it. These are the weak points of your understanding. You need to focus on learning and understanding this knowledge again, and then Then explain it to others, and repeat this cycle until you can explain it clearly and others can understand it.
Summary
We divide the learning process into eight steps:
1. Establish goals
2. Divide tasks
3. Collect knowledge resources
4. Allocate own resources
5. Study diligently
6. Establish a knowledge system
7. Good questions
8. Share retelling
Our team is developing products such as Zendao, Chanzhi, Ranzhi, etc. Even our daily work follows scrum agile development. When we look back and summarize, we will find that the "Eight Steps of Learning" in this article are actually similar to scrum agile development. First, break down the knowledge into multiple small goals, and then use the goal decomposition to associate specific learning tasks, and rationally allocate time, energy and other resources to complete the tasks. Then, through difficult questions and retelling, you will continue to discover "loopholes" in the process of learning knowledge. ” or “bug”, and then learn to solve it in depth, and iterate from there.
So, learning is actually a process of continuous "self-iteration" to achieve continuous self-improvement.
Everyone has his own set of learning methods. You are welcome to share your good learning methods. We can learn from each other, communicate and make progress together.
Practical readings related to learning methods:
"How I Learned Mini Programs"
"How I Learned PWA"
Reference:
https://www.jianshu.com/p/2fe48f98a919
https ://keeganlee.me/post/full-stack/20170909
https://wiki.woodpecker.org.cn/moin/AskForHelp
Although it is not my original experience, thank you for sharing it, haha. .