The Ancients Cloud "10 years bided no one ask, fame world know", this is a few ancient Chinese scholar's true portrayal. Most of the scholars are only 10 years bided, but they do not see fame.
In the Software development field has the waterfall Pattern Software engineering methodology, it will the soft development several processes "The demand analysis, the outline design, the detailed design, the code, the test, Release "Strictly serial, only after sufficient analysis of requirements analysis, the output needs to analyze the document, only to begin to do a summary design, and so on, until each process is completed before the release of software to the end customer. But many times there is a result that neither side wants to see, that is, the product delivered is not what the customer expects.
These two things have a similar place, that is, they run in
Closed systems, only internal loops
In the actual working environment, technical learning is another scene. The project team arranges a new task for you, and you need to understand the various factors of the problem itself, such as the problem. If you know nothing about the technology involved in the problem, you need to ask the technical manager. After one or a day of study (yes, only two days) to clear up the technology, come up with a workable solution. Then get to the program review meeting to discuss, the evaluation of the programme in a multidimensional "comment", pointed out the shortcomings of the case, put forward some suggestions. After this round of PK, the problem and the technology involved in a deeper understanding, and then think about the program, to review. After several rounds of review, the final result is a more appropriate solution from both the technical and the delivery. The whole learning process may have been k many times, a kind of badly beaten feeling, but the technology grew fast.
In the last 15 years, the Agile Software Engineering methodology, which uses small steps to run the "Requirements analysis, fine design, coding, testing, release" form a round of operations, each round called an iteration. Requirements analysis, fine design, coding, testing at the time of execution, each process performs acceptance of the previous process, ensuring that the understanding of the entire team is consistent with the customer's ideas, and of course each iteration of the export deliverable (i.e., each iteration is released with the new functionality available) and then accepted by the customer. As soon as the whole process is understood, communication and correction are made, and delivery is required by the customer.
Similarly, these two things have similar places that they run on:
Open system, positive feedback present
The learning rule is similar to agile methodology in software engineering, it needs to go through multiple loops (iterations) and positive feedback (examination, or application) to build up "full stack knowledge structure" and realize "systematic knowledge".
Iterative Learning
Author Gladwell in the book "Alien" that:
The genius of the people's eyes is remarkable, not the talent superhuman, but the continuous effort. A 10,000-hour temper is a necessary condition for anyone to become extraordinary from the ordinary.
To be an expert in a field, you need to achieve 10,000 small professional training. If you work eight hours a day and work five days a week, it will take at least five years to become an expert in a field. This is the 10,000-hour law.
In this 10,000-hour study, do not learn a little every day, after 5 years, before the knowledge (technology) GRASP, but continue to carry out periodic iterative process. The actual process is performed in the following order:
Knowledge (technology)-----search to solve the problem--using knowledge to understand new knowledge--to incorporate new knowledge into the knowledge system--new knowledge
Each process creates a conflict, and the learning process is the process of resolving these conflicts.
Sharing the experience of learning computer networks
began to contact the computer network is in the junior course, because of the computer network is not interested, only understand some of the basic computer network, the details of the agreement is ignorant, the result of computer network became my university's only unqualified professional course.
When the graduate students quirks in the research direction of distributed and computer network, fortunately encountered a foreign classic computer network textbooks, in simple, easy to understand. The result is less than one see time, I will be the data link layer and the function of network function to read. When reading the network layer function, close the book, Think of it and the actual life of transport traffic Network system is similar (in fact, now developed logistics network and computer network more similar). After reading the network layer, after understanding how the data is connected through the network layer, as if the two meridians, all the knowledge points are fully connected, the rest of the knowledge is the details of the agreement itself, but the network behind the Internet collaboration is sweeping.
The first job is also related to the strong computer network. In that project, I was responsible for the testing of the VRP (Virtual Router Protocol) protocol, fully testing the Tcp/icmp/vlan protocol behavior, and helping colleagues analyze the strange behavior that occurred. In addition to working, I read the RFC protocol specification and even modified the VRP protocol to multi-instance mode.
Also in the first job, out of a sense of the Linux kernel, the kernel stack source code, from the network card driver development, IP layer protocol, TCP protocol, UPD protocol, to the socket processing, turned upside down. Finally found: network protocol stack in the implementation, often make adpater and decorative mode, the reason is the agreement like a water pipe, layer by layer: Add a passage, you can boil hot water, plus a section, you can cook coffee, any combination
Then, to the company I work for now, the job content is not related to the computer network. Once the customer encountered a TCP protocol performance problems, the boss did not know where to receive the wind, know that I understand the network, decided to let me travel to the customer that deal with this network problem. With the customer over the network experts, after a week of analysis and data collection, and finally positioned to be a buffer due to insufficient memory and small, leading to a large number of link sending speed down. Next, the department inside and outside the network question, I all is the important angle invests, and has formed many localization experience.
I am this way from the network of Chinese cabbage, to become a computer network engineer, the whole process does not know how many iterations, how many experiments on the revision of knowledge. From the principle to the protocol test, as well as the protocol problem location. The emergence of each conflict is a problem that needs to be solved, once resolved, the ability will be improved, the knowledge system is more perfect.
Summary
Learning is not a one-time journey, nor is it a lengthy period in which knowledge can be learned, but iterative. Every iteration has knowledge revenue, but in the iterative learning process, we can build "full stack knowledge structure" and realize "systematic knowledge".
Iterative style, let your knowledge more systematic, excellence.
How to Learn (3): Iterative Learning, Excellence