Sunflower collection for software development

Source: Internet
Author: User
Sunflower collection

Note: The original document has no source.

Most Chinese people prefer to use martial arts novels to compare software development. However, in practice, only the sunflower collection is the most powerful, and it can be called "unbeaten" only by mastering the sunflower collection ". But what is the sunflower collection of software development?

Let's start with some phenomena. Our premise is that software development is an intellectual-intensive labor. For intellectual-intensive labor, we have observed that individual performance is very different, team presentation is very different, and organizational performance is very different, country performance is quite different. Unlike physical labor, the speed of running a hundred meters is only 50% faster than that of me. However, in chess games, a master can fight several low-handed vehicles and beat them one by one without exception!

These athletes are characterized by accurate computation and high speed. Its behavior is very undefeated in the east. Although there are many legends about the sunflower collection, the most accurate description is only one word "quick ". The invincible position in the east is almost scary. Just as casparov is almost reaching deep blue.

There was an anecdote about the physicist bord, who once listened to two young professors at Princeton University to give a speech about their work. During his speech, borl suddenly said that if you calculate it based on your research, you will get a very interesting inference. As a result, the two young professors returned for two days and came to the same conclusion. How can we achieve this fast?

In software development, we also noticed that they can write about one thousand lines of high-quality data every day.Code. They can use some existing software packages to quickly complete a new product. They can learn a newProgramLanguage or new technology. They showed a magical speed.

In martial arts novels, all the masters have performances beyond the reach of ordinary people. Like Zhang Wuji to learn taiji, he defeated the famous Longclaw hand with the Dragon Claw hand. Qiao Feng beat the hero of the world with the Great Ancestor's fist. Gu su Murong also managed his body with his own way, ling Hu rushed a sword to blind more than a dozen eyes and so on. I think the key to achieving this is their speed.

Fast does not mean inaccurate or poor quality. Fast and quality are not in conflict.

The speed of the Experts actually includes high quality. If you question the quality of a master because of the high speed, it is equivalent to asking: Is it true that the East cannot beat the game so quickly? The undefeated Oriental market is not satisfied with biting his opponent. He will stab a flower on his opponent. He turned murder into art. To be precise, his true interest lies not in killing, but in art.

To put it back, even if the first unbeaten strike in the East is a little biased, the second and third hits that he wants to hit will be followed immediately after he makes a slight correction. When the opponent's sword was not drawn out, he had killed the opponent and stabbed a flower.

So the real software master, he is not satisfied with his code can work effectively, he thinks programming is art, and is fascinated by it. In the time when a low-handed version can be written, he has already written version 10. Of course, its quality cannot be the same as that of the day. Just like a 9-segment player, he can calculate ten possibilities within a given period of time, and after calculating each possibility to 100 hands, he can choose the most advantageous method. Is there a chance for a low-handed person to be honest?

Highly-handwritten software is constantly refactoring (refactoring ). Experts like iterative development. Experts say that Incremental patching and iteration are re-engineering. For software, writing it once may be OK (it is not easy to do it). Writing it ten times is a great product, and writing it again is even greater.

The trick is that he is familiar with various things. A master reads books very quickly, because each new book contains only one or two chapters of new technologies. He can quickly read the book and understand its central thoughts and values. For a newbie, every sentence is new, and he needs to understand it. For each example, he needs to try it.

It is rare to see a new 100% technology or theory. As mentioned in Java language specification, Java does not use any new technology and uses industry-proven technologies. He is familiar with those technologies. Naturally, he soon changed from a C ++ master to a Java master. If a beginner in programming learns Java, he is not as good as a master for two months. Learn new things quickly.

High-speed handwriting code. According to the statistics, the valid Code speed per person per month is about 300 to 400 rows. But that is the industry average production efficiency. This number is too low for experts. It is entirely possible to write 300 to 400 rows every day. Because when writing code, all the knowledge is ready, there is no need for him to spend more time. He rarely needs debugging.

The ability of experts to reuse code is very strong, and it is very fast to get familiar with new APIs. This is also because he has used many APIs and used a lot of code. He knows which are available and which are missing. He has used both QT, GTK +, Windows API & MFC, and AWT & swing. The new API is also an old acquaintance to him.

Experts like to use lightweight tools, such as VI and notepad, which can be as complex as ultraedit at most. Experts use this tool to write a lot of things. These tools are like unbeaten needles in the east. The needle has magical magic. Sometimes it can be used as a laser gun.

Although some heavyweight tools are not commonly used, they are more powerful than ordinary people once used. If you fail to use the sword in the East, the most powerful swordsman will also be ugly. Experts have actually used many weight-level tools and are well aware of their advantages and disadvantages. Therefore, we can maximize the power and minimize the defects. However, low-handed users do not always carry forward defects without knowing what the essence is. As many people learn to use UML, RUP, XP, and design pattern.

The experts are well-learned and integrated. When the experts are doing nothing quickly, when the low-handed is still in a sorrow, the experts have successfully solved the problem and have done other things.

On the way to becoming a master, you must be enthusiastic, step by step, and persevere.

You have to force yourself to read books quickly. Try to quickly understand its subject. In fact, you can quickly view the amount of information you accept, which is similar to what you slowly accept. It depends on your skills. Let's look back later. A book that has too many new things for you, don't expect to read them all at once. Just like a lot of people who are not competent enough to read the design patterns book. It is better to find multiple sources of information. Reading a book is far from enough for a completely unfamiliar field.

You have to force yourself to do things quickly. A friend, I introduced him a few years ago to play with Linux. He also said he wanted to play, but he hasn't touched it yet. He lost many opportunities.

At ordinary times, you need to consciously improve the speed of writing your own code. In fact, you write 15 lines of valid code a day, which is similar to writing 50 lines of valid code. You should leave the industry average behind, and surpass yourself as the only target. When you write a lot of different types of code, your level is not average. A teacher once introduced me to his decision on learning English. He said that you are going to chew on the original novels and get 50 books, which is far from the average person. This is the case. If you write too slowly, how can you write too much? How can the level be improved?

Force yourself to learn things that others are afraid. Low-handed people always say: how can we learn so many things. As a result, you will not learn more or less. In this way, it cannot become a master. Experts have a wide range of knowledge and rich experience. I know a lot of things that I don't know. I have played many things that I have never heard of before.

We must force ourselves to meet the various needs of our customers. Personal skills are improved to meet various customer needs. For example, if you like to use Delphi and the customer says that you must use VB, then you promise him and cultivate yourself into a master of VB. User needs seem abnormal, but they are a chance for you.

One obvious way to achieve faster reading, faster code writing, and faster learning new things is to parallel work. When you make on a machine, you can also read other documents and chat. This is true for computers and for humans. If you can only handle problems serially, your speed will be improved. Your brain has great potential to be tapped. It should be a multi-task time-sharing system. Try to reduce its idle time. The economic-making Samuel is called the human brain main frame, showing how fast his brain is.

To make your thinking faster, you will be different from those who are slow to respond. If you cannot extend the path of your life, extend it. The world is changing fast, and you need to be faster than it.

This will not take you short-lived. On the contrary, you have more time to enjoy your life and exercise. Your life will be more quality, richer, and meaningful. You will remain undefeated in the face of changes. We all race against ourselves and need to run faster than we did yesterday.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.