It technology development, new technology emerging, with good learning ability, timely access to new knowledge, at any time to supplement and enrich themselves, has become the core competitiveness of programmer career development. In this paper, the author sums up the three key points to improve the learning ability of programmers in combination with years of learning experience.
As we all know, now is an era of knowledge explosion, knowledge update very quickly. It is estimated that a university graduate learned knowledge, 2 years after graduation, the effective but the remaining 5%. For the software industry, this situation is more obvious, we rely on, not because we now have mastered how much knowledge, but we have how strong learning ability.
Everyone can learn, but different people learn the effects vary. A good learner, first of all should be a good reader, know how to study efficiently, and have a good mentality. Only in this way can we become an effective learner and achieve a remarkable process of life.
Be good at Reading
Buying books is the most cost-effective investment.
Ancient Cloud: "The book has its own gold house, the book has its own Yanruyu." "This means that the ancestors realized that buying books is the most cost-effective investment."
When I first started out, I took a very meager salary. One time complained to the supervisor: "The books are so expensive now that they can't afford to eat them, let alone buy a book." "The director said to me:" Do not begrudge the money to buy books, rather endure not to eat, do not endure not to buy books, because the purchase of books is the highest rate of return investment. ”
The director's words made me very shaken. Later, when I saw my favorite book, I never had any mercy. Through continuous learning, my ability to develop and improve the level of wages has also been greatly improved. A year later, my one-month salary rise will be enough to buy two years of books. You know, there's a better investment than that.
A book, even if only a page of paper is useful, it will produce the potential value of the book itself will be far more than the price. Of course, the book is not much, down to digest a good book, than general and read 10 ordinary books, to be more valuable.
Read more classic books
There are plenty of books on the market for programmers to read. Life has a career, we can only selectively see, to more optimistic about books, read more classic books.
The books on software development are divided into three categories.
1. Simple introductory books. The title of this kind of books is often "xx days proficient in xxx", "xxx from the beginning to proficient", "XX development Combat", etc., usually from the installation of software. It is not fair that some people criticize this kind of book as bad books and worthless. At least I've learned something from these books. Even the 21-day series has the right people to look at. Only, it generally can only look at 21 days, after which can be thrown into the waste paper heap. This kind of book is only suitable for beginners who have not yet started, from learning to some introductory moves. In the beginning of the general buy a book is enough. If you are good at using search engines, there is little need to buy this kind of book.
2. Domestic and foreign experts write the actual class books. This kind of encyclopedia is very practical, and the technology and principles are very thorough. For example, "Windows environment 32-bit assembly language programming", "In-depth analysis of MFC", "Delphi Depth Exploration", "profound understanding of WPF", "In-depth analysis of ASP." NET component design, and so on. In the past, this kind of books were translated from abroad or introduced from Taiwan, and now more and more domestic experts, from the domestic author of the book is more and more. If you can read two or three of these books in every direction of your study and digest them through practice, then there is no doubt that you will become a good programmer.
3. A book written by Daniel Abroad that exposes nature and has rich ideas. This kind of books is called classics, such as "Code Encyclopedia", "Programming Zhuji", "design mode", "Refactoring", "Code neat Way" and so on. Classic book is like a deep, thoughtful friend, can give you inspiration, every reading will have a new harvest, this kind of books have a true collection value. Reading Classics is always the right choice, it will never waste your time, because the classics are the result that countless people Shari and help you pick out.
However, reading this kind of books is not an easy thing. Readers need to have a wealth of development experience to resonate with the author. If a classic book you see very hard, then most likely because you do not have enough, this situation do not worry, slow point, may wish to put it on the shelf, see more actual combat category books. After some time to look back, maybe you will have a new surprise.
Don't read in the office hours.
A good learner, first of all to be good at using all the time to learn. Lei Feng once said: "Time is like a sponge in the water, as long as willing to squeeze, there is always." "However, when we squeeze time from work, we must be careful not to read in the office hours," he said.
Work time reading, not only is a very sensitive thing, and very eye-catching, will soon cause the discomfort around. First of all, the boss is unhappy: "I give you the money is to let you work, not to learn", and then colleagues are not happy: "We do not finish the work, see, this boy really idle ah." It won't be long before you become the outcast of the crowd, which will eventually make you "very hurt".
To learn efficiently
Only learn about work-related things
I have found that many programmers can not find the direction of learning, a moment to learn C #, a moment to learn Java, read the latest programming language rankings, and feel that the study of C + +. This left scratching, right scratching, will only make you feel more itchy.
Learn the most bogey half-hearted. As the saying goes: "Hurt its ten fingers than the first point", each door to learn a little, but also concentrate on learning a direction. Everyone knows this truth, but which direction should be studied. Can only follow the feeling to go. No. The most practical direction, should follow the work to go, what the job needs, we learn what, the work needs of skilled mastery, there are many benefits.
First, you can concentrate and delve deeper into one aspect. The so-called "hundred strokes will not be as good as a recruit", with a unique trick, you still afraid can not be in the "martial arts" foothold it. "Tianlong Eight" in the Murong Fu Kung Fu learned incomparable, and finally is not only a recruit six pulse God Sword Kudus beat.
Second, you can learn faster, more in-depth, because learning more targeted, and can be used immediately in the work, you can immediately test the effect of learning. In-depth study of the existing problems, the knowledge will be more solid.
Again, learning and work together, working time is also a learning time, which breaks through the three 8-hour limit: it is said that the time we have each day can be divided into three 8 hours, work 8 hours, sleep 8 hours, and another 8 hours to their own free control. Working and sleeping for two or 8 hours everyone is the same, deciding the height of life is another 8 hours. When we put the focus of the study on work-related knowledge, a large part of the work time, but also become a valuable learning time, it is a good thing to kill two birds with one stone.
The problem is the best learning opportunity
Panasonic, the Japanese god of business, said: "Work is the process of discovering problems, analyzing problems, and ultimately solving problems, and the promotion keeper is always open to those who are ready to solve problems." "It can be seen that the problem is normal in the process of work, no problem is the real problem." In the event of problems, the courage to face problems, solve problems, is the real backbone of the company.
In reality, many people always try to avoid the problem. When a boss arranges a difficult task, he also try to dodge it. As a matter of fact, for individuals, the problem is actually the best learning opportunities. Often those who are willing to accept difficult work will become more capable, because they have made great progress in overcoming difficulties.
The breadth and depth of knowledge are important. As a programmer, can grasp the technical details, is to write high-quality code assurance. But for a project manager, the breadth of knowledge is more important. The problems encountered in the project are often comprehensive, only with a wide range of knowledge, can quickly analyze the problem and positioning. On the path of programmer's growth, we must consciously enlarge our knowledge and form a more perfect system.
I have written a network information collection software, this software can be from the Web site with List page to set the collection of information, support custom fields, page Multilevel association, download attachments, support a variety of databases, visual definition and other characteristics. In the beginning, I think this software is only a relatively large function point, and later found that this obscure function associated with a large number of knowledge points (as shown in Figure 1).
In the development process, I follow up, one by one, to a lot of knowledge points for careful study. After the completion of software development, my knowledge system network has been further supplemented and improved.
Often think about the summary
Zi Yue: "Learn without thinking is no." A man can only learn and not think, will be confused, difficult to grasp the nature of things. This is like a study of martial people, only the acquisition of its shape, without its God, it is difficult to become a real master.
From getting into the process of becoming a master, programmers often have to go through several insights. I remember once, I realized a very simple conclusion: "The original high-level programming language class library is encapsulated by the Windows API to implement." "When I came across some features that I couldn't implement with my class library, I thought I could actually do that by invoking the Windows API." Using this idea, I solved some seemingly difficult problems, got the boss's appreciation, and soon got promoted.
Insight is very valuable, but it is not random, but after a lot of hard thinking, the results of Flash. The process of thinking is in fact the process of translating external knowledge into its own knowledge. and insight, then batch implementation of this internal, countless points of knowledge connected together to achieve mastery of the realm.
Overcoming the "plateau phenomenon"
Love to learn people will have such an experience: learning for a period of time, often there will be a bottleneck, long time seems to have no progress, so the heart very anxious.
This kind of situation, in fact, is a kind of "plateau phenomenon" which is decided by the study law of human. According to research, learners at the beginning of rapid progress, followed by a clear or long or short progress of the pause period, late progress slow, the middle of the pause is called Plateau period (see Figure 2).
Plateau period, the essence is a digestive period. As a result of early learning accumulated too much knowledge points, these knowledge points in the brain whack, has not formed a knowledge system. It takes a certain amount of time to digest it, to get it through, and often to think and summarize can quickly help you across the plateau period.
In the plateau period, you can also change a related direction to learn. For example, programming linguistics does not go on, you can learn the design pattern, design patterns will not go down, and then replaced by the database. By learning these relevant knowledge, not only the short board in the knowledge system, but also each knowledge point can inspire each other, to help you realize epiphany, across the plateau period.
To have a good mentality
Learn to Meditate
To be anxious is a mentality that is prevalent in the learning process, which is understandable. After all, as a programmer, there are too many things to learn, and the society is so impetuous, let people feel that everything is so unsafe, uncertain, it seems only to learn faster, to keep up with the pace of society.
But "haste makes waste", want to quickly geoscience, often will form the East a hammer, West a mallet learning way, each point has not thoroughly digested. The heart can not go down, the knowledge will not sink. To become a real master, can only calm down, step slowly.
Learning is a process that lasts a lifetime
Life is a process of self-perfection.
Zi Yue: "I ten have five and ambition to learn, 30, 40 and perplexed, 50 and know Destiny, 60 and Lshun, 70 and Conter, not more than moments." "It can be seen that Confucius is not a natural sage, but also constantly learning, progress, from" Zhi to learn "to" Conter, not more than moments, "Confucius spent 55 years of time.
As a programmer, you need to constantly enrich your knowledge base. What we know, like a white circle, outside the circle is the dark unknown world. The larger the circle, the more dark parts it touches. We can only break more darkness and find more light if we keep on learning.
Keep hungry and stay stupid
I like the words of jobs very much: "If you are hungry, if you are Foolish" (Stay Hungry,stay Foolish). In fact, I prefer it more original eco-translation "Keep hungry, stay stupid". Only when we realize that we are still very hungry and stupid, we will be like not full of food, and sincerely need to learn and love to learn.
Author Yun Hua, senior software engineer, is engaged in IT project management, with PMP certification, Information Systems Project Manager certification, System Integration Senior Project manager certification.
Turn from: http://www.linuxeden.com/html/news/20130408/137986.html