Alibaba Senior Experts' Ways to Improve Thinking Ability

Extended thinking: draw inferences from one instance and expand thinking

The core goal of expansive thinking is to increase the breadth of our thinking, that is, to make our knowledge tree bigger and more open;

Infer other cases from one instance and solve N problems of the same type

The advantage of drawing inferences from one example is: can we use the same knowledge and means to solve similar related problems, for example:

1. When it is found that there is a wrong configuration in the JVM parameter configuration of a certain system, it is not just to repair the jvm configuration of this system, but to check whether the responsible systems need to be modified uniformly;

2. There is a bug in the system that causes dirty data to be generated. Instead of directly correcting the found dirty data, all dirty data is pulled out according to the characteristics and processed at one time.

This way of thinking is characterized by drawing inferences from one instance and drawing inferences by analogy, which is equivalent to producing the effect of batch processing, which can greatly improve the efficiency of solving problems and avoid repeated operations.

Seeking More Possibilities: Expanding Different Means of Problem Solving:

The common means of expanding thinking is: whether there are more ways of understanding, or more solutions, some cases are given to illustrate:

1. When a failure occurs, besides rolling back the code, what other options are there for a quick solution? Engineers with rich experience in troubleshooting must know that in addition to rollback, there are various solutions such as system downgrade and operation activity downgrade.

2. In addition to writing more robust code in daily work, what methods can you use to improve the fault tolerance of the system? There are also data monitoring, document closed-loop and other means of processing.

When there are more means to solve problems, the horizon of thinking will be more broadened.

Grasp the key thinking: improve efficiency, facilitate memory and transfer:

When we find that the knowledge tree is established, how can we improve the efficiency of memory and use? And it is easier for people to understand when it is passed on to the outside world? The scenarios to be solved by grasping the key thinking are:

1. If everything is done according to the knowledge tree, the efficiency may not be particularly high. Is there a faster way?

2. When communicating with the outside world, you must express your core ideas, otherwise it will be difficult for others to understand your expression. For example, if you are promoted to a defense, you must have a deep understanding when you report on the project.

To solve these two types of confusion, the core idea is to grasp the key points and context:

1. Induction method: Using the induction method to hide the details and present the context of knowledge is a very good way of thinking; especially for the ppt that everyone is preparing for promotion, each page of the ppt needs to summarize a core point of view, no It's all about the details, this one is very important! And training the ability of induction is itself a reflection of the depth of knowledge understanding;

2. Priority method: The priority strategy is often applied to find the most critical or profitable task item among multiple tasks. For example, there may be several steps to complete a task, and which step is the most effective, roughly A sort can be done. When implementing, it can be implemented according to the priority.

Effective practices for exercising thinking skills:

1. Awakening of consciousness: Awakening of consciousness is the most important point to improve thinking ability. I think that as long as this kind of consciousness is formed, half of the success is already achieved. Many students' thinking ability has not improved, because they are not aware of the concept of thinking ability, knowledge mechanically do things, do things. . . It is impossible to have an essential improvement if you are wandering from level to level in the same thinking every time. From junior engineer, senior engineer, technical expert, senior expert,,, what is the basis for the improvement of the level? How much demand was received? How much code did I write? There will be these factors, but the key factors are not these, but the continuous improvement of thinking ability and the continuous evolution of thinking methods, which will lead to a better performance-to-output ratio and produce twice the result with half the effort.

2. Keep information: As long as you master the correct method and keep training, your thinking ability can definitely be improved.

3. Empty cup mentality: The process of thinking is actually a process of constantly refreshing and reconstructing human knowledge. Here we must ensure an empty cup mentality and be open to new environments, new ideas, and new technologies. Just create resistance for yourself.

4. Where does the time to think come from?

a. Use fragmented time: on the way to and from get off work, when eating, you can think about and figure out what happened just now or today, and then make a regular summary.

b. Seize the process of work: Every time a technical plan is made, codes are optimized, problems are checked, failures are handled, and preparations for promotion are all opportunities for training, you can think and practice quickly in the process of doing things.

Are there any criteria for judging the improvement of thinking ability?

1. Breadth: It refers to the scope of your own knowledge tree. The wider the knowledge tree, the more profound the knowledge; for example, from how to write a multi-threaded program, how to improve system performance, and how to make system Stability preparations, this is an improvement in breadth.

2. Depth: It refers to how deep the leaves of your knowledge tree are. The deeper you understand the knowledge, the more thorough your knowledge; DTS solves distributed transactions", which is a deep improvement.

3. Speed: It is the speed of building and refreshing the knowledge tree. For example, it took you a day to figure out a modeling solution, but now it only takes half an hour to figure it out. That is the speed increase.

Good tool recommendation: Xmind

Be sure to share with each other:

Although thinking mainly depends on oneself, it must be shared with each other. Because thinking is an intellectual activity, mutual sharing can completely achieve the effect of 1+1>2.

1. Project sharing: major projects must be shared, including architecture design experience, process experience, and quality improvement experience, all need to be shared;

2. Weekly meeting sharing: Weekly meeting is a good time to learn and share. The focus is on some key solutions, architecture design concepts, good tools, and even work-related content;

3. Sharing in the group: When someone digs a pit, remind everyone in the group, this is a very timely sharing plan;

4. Annual and quarterly sharing: talk about the progress or mistakes made within a year.

Responsibilities of technical leaders in training thinking ability:

In the technical team, the thinking awareness, ability and practical actions of the technical leader determine the overall thinking level and growth speed of a team!

If a team wants to improve thinking ability and learning ability, first of all, the thinking ability awareness of the team leader must be raised. If the team leader has no thinking awareness and does not take the growth of team members into consideration, then the thinking ability and growth of the entire team will be improved. The speed is definitely not fast.

1. First turn yourself into a thinker, set an example by yourself, and lead by example;

2. Change the consciousness and mentality first. One of the most important responsibilities is to grow the growth rate of the team members. Without this awareness, it is empty talk.

3. Create more conditions and atmosphere for thinking: we must seize the opportunity to conduct reviews, program reviews, weekly meetings, etc., and encourage everyone to think and share;

4. Control the rhythm of the team and set aside a certain amount of time for everyone to study and think;

5. Timely guidance and demonstration, some students may be slower to grasp, at this time need to be patient to guide students to find the feeling of thinking;

6. Don't intervene in too many details: return to everyone's group will only, without too much intervention, let alone force others to accept it with personal will;

Summarize:

1. Thinking ability is crucial to the growth of programmers. Both teams and individuals need to consciously or unconsciously improve their thinking ability.

2. The most important thinking skills for programmers are: principled thinking, structured thinking, reflective thinking, expansive thinking, and key thinking;

a. Principled thinking is the foundation, because all knowledge construction is empty talk without understanding.

b. Structural thinking helps us build our knowledge tree.

c. Reflective thinking constantly reconstructs knowledge, which is a necessary condition for cognitive upgrading

d. Extended thinking can enhance the breadth and depth of knowledge.

e. Focusing on key thinking can speed up the efficiency of knowledge use and transfer

1. In the practice of improving thinking ability:

a. The key to improving thinking ability is the transformation of consciousness

b. Be confident in the improvement of thinking ability

c. Take more time to exercise your thinking ability at work, and you don’t need to spend too much extra rest time

d. Share more with each other

e. The team leader requires the growth of team members and the improvement of thinking ability as the most important content, and needs to take practical actions

Guess you like

Origin blog.csdn.net/qq_25580555/article/details/129789225