What is the excellent quality of programmers?

Source: Internet
Author: User

Where is a good programmer? I think it is not a matter of character, but a world view. What kind of world view is advantageous for program development? This is what we will analyze in this article.

1. Great Learning View:

I found that there are several kinds of learning concepts that are meaningless, such as hard work and hard work, because many people work very hard, but their scores are not very good. Learning can't be done by hard work alone. There should be methods for learning, and there may be a variety of methods, so it is difficult to use them. Is there an effective learning view in the general world? Recently, I found one. This should begin with a question: why is the result of some people learning the same thing, and the result of others learning the same thing? Learning this is not simply listed in front of us. To learn it, you must go deep. It is also a tutorial. Some people can go deep into it to learn not only superficial content, but also to discover and expand deep content. Although I dare not say that a learning object can be explored infinitely, I have never felt that I was able to completely discover all the meanings of a learning object. The ancients said: Learning is boundless, which is more ambitious than we imagined. It can be said that learning is always done. Students generally like to claim that they have finished learning, but they are not aware of the endless meanings of these two words.

A great learning view can help you learn efficiently. In my opinion, this learning view can effectively improve your learning efficiency. The ocean of knowledge is very broad, and everyone enjoys floating on the water. Although there is a wide range of knowledge involved, the value is very low, and a more cost-effective way of learning is in-depth. If there are 0.1 billion people on the water surface, there will be only one million people under 2 meters. This is one point. The other point is that you can see the complete knowledge system only when you sink down to the bottom, so that you can clarify the context. There are tens of millions of controls in the world, but there are only a few basic structures that support their operation. Do you mean it is easy to master all the controls or its basic structure?

We are in the era of knowledge explosion. If you find an algorithm book, you can list the algorithms in three thousand. You have to learn one algorithm every day for ten years or eight years. Even after learning it, it is difficult for people to write a quick search for you, because you have no in-depth understanding of the meaning of an algorithm. In this context, we need to know what we don't list, so that we can stay in the room, learn taste, and learn to slow down. Can you stay calm in the face of 23 design patterns, dozens of data structures, hundreds of algorithms, thousands of types of databases, and tens of thousands of Apis? This is what I want to tell you.

2. Great paranoia:

Paranoia is a derogatory term. The pursuit of harmony in society seems to be tolerant, but programmers should not be tolerant. Because computers are never tolerant. Wrong is wrong, right is right, no matter how high your character is, how noble your behavior is, How pitiful your sympathy is, there are 10 thousand reasons for making mistakes, the computer never gives you a bit of affection. Recently, the train signal problem occurs, and the subway signal problem occurs. Will these errors not happen because of how many people are killed? To write programs, the first priority is to eliminate moling Ling and non-cleaning.

Writing a program often passes the test in a flash, and you don't know why it runs. This is the greatest sorrow of programmers. If the program you write always needs to be debugged and modified continuously before it can run, you have to warn yourself whether to program by luck. Luck is always not far away. Although modern high-level programmers do not like this set, I think writing pseudocode is still very helpful. pseudocode can make up for your lack of understanding of programming languages and effectively sort out your own ideas. Therefore, I suggest that when writing a program, you should first write pseudocode and write it in Chinese. After the outline of each process is clearly written, you should refine it and find out some dead corners of thinking. Sometimes you think you can do it yourself, but when you do it, you will find that two or three technologies cannot be implemented.

When we write code, why do we have to write the code, but we are not confident that it can pass the test? It is because we have not established a clear and concise logical reasoning and related structures. The simplest logical reasoning is the structure that draws conclusions based on the premise. This helps us to detect function parameters and so on. The parameter range is incorrect, naturally, the results of a function should not be expected to be correct (although we may rely on luck), and within the scope of our consideration, we naturally have confidence that the results of the function are correct. Second, there is also a set of logical structures in the loop structure to find out the circular constants and fixed things, so don't be confused by changes. Write code. If you can write code based on a logical structure, you can naturally get a convincing answer.

It is often necessary to define the scope, whether it is greater than or equal to, equal to, not equal to, or less than or equal to, whether it starts from 0 or 1, from the end of length or from the end of length-1, if we do not establish a clear cognition at this time, we often rely on luck to program. Some people are sensitive to mathematics, and some are not very sensitive. These boundaries need to be mastered. When writing pseudo code, if you can think about the specific scope at the same time, this will inevitably clarify the entire idea.

3. Face-to-Face Recognition

Programmers often need to consult with others and are willing to help others. Such errors may inevitably occur during communication. It is very difficult to accept errors with an open mind, but it is also very rare. If you can identify errors with a thick face, it will certainly help you correct the mistakes, and others are willing to help you.

I know many beginners who like to pick other people's thorns, but always love to maintain their own mistakes. Nothing can be changed if you do not recognize mistakes. You can only make mistakes, and others will also alienate you.

It is difficult to identify errors because you need to establish a correct evaluation standard. The first criterion is based on facts. Facts are better than arguments. Sometimes the facts cannot be clearly understood. In this case, we need to sort out others' opinions to see if there are logical errors, the conclusion is naturally unreliable (although the conclusion may be correct). If other people's logic is clear and clear, they should consider accepting others' opinions with caution.

If things are more complicated than this, you cannot tell who is right or who is wrong, because everyone's logic seems to be reliable, you need to know that the two sides are standing in that position, from which point of view.

It is useless to deny the other party in a hurry, because in this way, you will not think about it. If you can think clearly and logically oppose the other party's point of view, this is also an enhancement to your point of view.

To be honest, in this world, it is rare for a person to intentionally harm another person. People give suggestions to each other with good intentions, but they have different levels of understanding and perspectives.

4. Pay attention to basics

What is the most difficult thing in the world? Is to improve your intelligence. No matter how you study, the Intelligence itself will not change much. What you learn is knowledge, strategy, and shortcuts that allow you to think less. What does this basic fact tell us? To improve efficiency, we need to consider looking for solutions from non-intellectual factors. In my opinion, if you can pay attention to the basics and build a solid foundation, then you will certainly improve your efficiency. No matter what you do, more than 90% of them rely on the most basic content. Only a few of them require your real brains. Instead of wishing you to be smart, it is better to try to shorten the basic operation time.

It is undeniable that examinations often focus on intellectual evaluation, as if all programming is an excellent thing that can only be done by a talented person. Is it impossible for an ordinary person to be competent for programming and development?

This is an intellectual superstition, too blind. If you can remove this superstition and step-by-step improvement of your basic abilities, we believe this is the most effective method.

In my experience, experts often attach great importance to the basics, while new users are often very interested in the so-called advanced skills. It is commendable that we can not ignore the basic information because it is very ordinary.

 

The above is not enough to explain why programmers are excellent, but I believe it will be helpful to you.

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.