The cultivation of programmers on the road

The development of IT technology is changing with each passing day, and new technologies are emerging one after another. With good learning ability, they can acquire new knowledge in time, supplement and enrich themselves at any time, which has become the core competitiveness of programmers' career development. Years of learning experience have summed up three main points to improve the learning ability of programmers.
Everyone can learn, but different people learn differently. A person who is good at learning should first be a person who is good at reading, knows how to study efficiently, and has a good attitude. Only in this way can you become an effective learner and achieve an excellent program life.
Be good at reading and read more classic books
    . There are many kinds of books for programmers on the market. Life is short, we can only selectively read, we should read more good books and classic books.
Books on software development fall into three broad categories.
1. Simple introductory books. The titles of such books are often "Mastering XXX in XX Days", "XXX From Getting Started to Mastering", "XX Development Practice", etc., usually starting from the installation of the software. It's not fair to criticize these types of books as bad and worthless. At least I once learned something from these books. Even the 21-day series of books has people who are suitable for reading. However, it is generally only available for 21 days, after which it can be thrown into the waste paper pile. This kind of book is only suitable for beginners who have not yet started, and learn some introductory moves from it. It is usually enough to buy one when you are just starting out. If you're good at using search engines, there's almost no need to buy these kinds of books.
2. Practical books written by experts at home and abroad. This kind of book is very practical, and the technology and principles are explained thoroughly. For example, "32-bit assembly language programming under Windows environment", "In-depth analysis of MFC", "Delphi in-depth exploration", "In-depth understanding of WPF", "In-depth analysis of ASP.NET component design" and so on. In the past, such books were all translated from abroad or imported from Taiwan, but now there are more and more domestic masters and more and more books from domestic authors. If you can read two or three of these books in each direction of learning, and digest them through practice, then there is no doubt that you will become a good programmer.
3. A book written by a foreign master that exposes the essence and has rich ideas. Such books are the so-called classic books, such as "Code Encyclopedia", "Programming Pearl", "Design Patterns", "Refactoring", "The Way to Clean Code", etc. A classic book is like a deep, thoughtful friend who can inspire you, and every time you read it, you will gain something new, and this type of book has real collectible value. Reading classic books is always the right choice, and it will never waste your time, because classic books are the result of countless people digging for gold and helping you pick them out. However, reading such books is not an easy task. Readers need to have extensive development experience to resonate with the author. If you have a hard time reading a classic book, then it is very likely that your skill is not enough. In this case, don't worry, come slowly, you might as well put it on the shelf first, and read more practical books. Looking back after a while, maybe you will have new surprises. Don't read books during working hours. A person who is good at learning must first be good at using all the time to learn. Lei Feng once said: "Time is like water in a sponge. As long as you are willing to squeeze it, there will always be there." However, when we squeeze time out of work hours to study, we must pay attention not to read books during work hours!
Reading a book during work hours is not only a very sensitive thing, but also very eye-catching, and will soon cause discomfort around you. First of all, the boss is unhappy: "I gave you money to work, not to study"; secondly, the colleagues are also unhappy: "We can't finish our work, look, this kid is really busy." It won't take long before you become an outlier from the crowd, which will eventually "would hurt" yourself.
To learn efficiently,
    only learn things related to work . I have found that many programmers can’t find a direction in learning. They learn C# for a while, Java for a while, read the latest programming language rankings, and feel that it is time to learn C. . Scratching left and scratching right will only make you feel more itchy. Learning to avoid half-heartedness. As the saying goes: "It is better to cut off one finger than to hurt ten fingers." It is better to study a little of each subject, it is better to concentrate on learning one direction. Everyone understands this principle, but which direction should we learn? Should I just follow my feelings? Do not! The most practical direction should be to follow the work. We should learn what the work requires. There are many benefits to mastering the skills required for the work.
first, You can concentrate and delve deeper into one area . The so-called "hundred tricks will be better than one trick", with a unique trick, are you afraid that you won't be able to gain a foothold in "martial arts"? Murong Fu in "Tianlong Babu" is extremely knowledgeable in martial arts, but in the end, wasn't he beaten by Duan Yu, who only knew one stroke of the six-pulse sword?
Secondly, you can learn faster and more deeply , because the learning is more targeted, and you can immediately use it in your work, you can immediately test the effect of the learning. In-depth research on the existing problems, the knowledge will be more solid. Once again, when study and work are combined, working time becomes study time, thus breaking the three 8-hour limit: some people say that the time we have every day can be divided into three 8-hours, 8-hour work, Sleep 8 hours, and another 8 hours at your own discretion. The two 8 hours of work and sleep are the same for everyone, and it is the other 8 hours that determines the height of life . When we focus our study on work-related knowledge, a large part of our work time becomes valuable study time at the same time. This is really a beautiful thing that kills two birds with one stone. Problems are the best learning opportunities. The god of Japanese management, Matsushita Konosuke once said: "Work is the process of constantly discovering problems, analyzing problems, and finally solving them. The door to promotion will always be open to those who solve problems at any time." Visible. , it is normal to have problems during the work process, and no problems are the real problems. When a problem occurs, the person who can face the problem and solve it bravely is the real backbone of the company. In reality, many people always do everything possible to avoid problems. When your boss assigns a daunting task, he also tries his best to dodge it. As everyone knows, for individuals, problems are actually the best learning opportunities. Often those who are willing to accept difficult jobs will become more and more capable because they have made great progress in overcoming difficulties.
web-based learning
    Both breadth and depth of knowledge are important. As a programmer, being able to deeply grasp the technical details is the guarantee of writing high-quality code. But for a project manager, breadth of knowledge is even more important. The problems encountered in the project are often comprehensive, and only with extensive knowledge can the problem be quickly analyzed and located. On the road of programmer growth, we must consciously expand our knowledge and form a more complete knowledge system.
I once wrote a network information collection software, which can collect information by field settings from a website with a list page, support custom fields, page multi-level association, download attachments, support multiple databases, visual definitions and other features. At first, I thought this software was just a relatively large function point, but later I found that this inconspicuous function is associated with a lot of knowledge points. During the development process, I followed the vines, broke them one by one, and conducted meticulous study and research on many knowledge points. After the software development was completed, my knowledge system network was further supplemented and improved.
Often think and summarize
the process from entry to becoming a master, programmers often have to go through several epiphanies. I remember one time, I realized a very simple conclusion: "It turns out that the class library in the high-level programming language is implemented by encapsulating the Windows API." Later, when I encountered some functions that the built-in class library could not achieve, I would think of it. , in fact, can be achieved by calling the Windows API. Using this idea, I solved some seemingly difficult problems, got the boss's appreciation, and quickly got promoted. The epiphany is very valuable, but it does not happen randomly, but the result of a flash of inspiration after thinking hard again and again. The process of thinking is actually the process of internalizing external knowledge into one's own knowledge. The epiphany, on the other hand, realizes this kind of internalization in batches, connecting
countless knowledge points together to achieve the state of integration.
Overcome the "plateau phenomenon"
    Anyone who loves to learn will have this experience: after learning for a period of time, there is often a bottleneck period, and there seems to be no progress for a long time, so they are very anxious. This situation is actually a "plateau phenomenon" determined by people's learning laws. According to research, learners make rapid progress at the beginning, then there is an obvious pause period of long or short progress, and later progress is slow, and the pause period in the middle is called the plateau period. The plateau period is essentially a digestion period. Due to the accumulation of too many knowledge points in the early learning, these knowledge points are messed up in the brain, and a knowledge system has not yet been formed. At this time, it takes a certain amount of time to digest it and let it be integrated. Frequent thinking and summarization can quickly help you cross the plateau period. In the plateau period, you can also study in a related direction. For example, if you can't learn programming languages, you can learn design patterns. If you can't learn design patterns, you can change to a database. By learning these related knowledge, not only the shortcomings in the knowledge
system , but also each knowledge point can inspire each other, helping you achieve epiphany and cross the plateau period.
It is understandable to have a good attitude
    to study, to meditate, to be eager to achieve success is a common attitude in the learning process. After all, as a programmer, there are so many things to learn, and the society is so impetuous, which makes people feel that everything is so insecure and uncertain. It seems that only by learning faster can we keep up with the pace of society. . However, "haste is not enough", if you want to learn quickly, you will often form a learning method in which the east is a hammer and the west is a hammer, and every point is not fully understood. If the heart cannot sink, neither will knowledge. If you want to become a real master, you can only calm down and take your time one step at a time. Learning is a process that lasts a lifetime, and life is a process of self-improvement. As a programmer, you need to constantly enrich your knowledge base. What we know is like a white circle, outside the circle is the dark unknown world. The larger the circle, the more dark parts are touched . Only by constantly learning can we break more darkness and find more light.
stay Hungry Stay Foolish
    I really like the words of Steve Jobs: "If you are hungry for knowledge, you are humble in heart" (Stay Hungry, Stay Foolish). I actually prefer its more primitive translation "stay hungry, stay stupid". Only when we realize that we are still hungry and stupid will we genuinely need to learn and fall in love with learning as if we were not full.

   Excerpted, forgot the address.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326373933&siteId=291194637