What is the most important ability of an engineer

(Star Python developers to improve Python skills)

Transfer from: beyondhaven

https://blog.csdn.net/beyondhaven/article/details/78494936

The phone rang. An implementation engineer called and said that the data collection on site could not come up and asked how to solve it. I asked about the version of the software, the model of the instrument, the information of the operating system, and the description of the specific problem. I told him what might be the reason, gave a solution, and asked him to try it. After trying it, he said that it still didn't work, and then asked what to do, so I gave him another way, he tried again, and the feedback said it still didn't work, and then asked me what to do. I then provided him with a solution and continued to solve...finally resolved.

This kind of scene is not once or twice, nor is it that two people solve the problem in this way. In fact, the problem is not complicated, some are even simple, so simple that it can be solved by just restarting the software. However, many people still do not know how to solve the problem. A similar situation also includes that when developers encounter bugs in programming, they are unable to solve them independently, and they keep asking colleagues how to solve them.

There is an architect in our department. He has been engaged in the development of the C++ language. He can quickly solve almost any problem in C++. When the project needs to use mobile applications, big data technology, java, js, python and other different development languages ​​to develop, he can also quickly learn from scratch, point out the direction for everyone, build a framework, and always find a solution when encountering new problems. The problem was solved to ensure the progress and quality of the project.

I often wonder why this phenomenon occurs? What is the most important ability of an engineer? I think it is the ability to solve problems. Being able to solve problems independently, quickly and effectively is at least one of the abilities that a good engineer must possess. People who have the ability to solve problems naturally have their own core competitiveness. You can solve problems that others can't solve; you can solve problems that others can't solve; you can solve problems that others can't solve. When encountering a salary increase or promotion, which boss must not think of you? Thinking of a sentence, the more I think about it, the more reasonable it makes: " Firming is stability, and balancing is level ."

How to cultivate the ability to solve problems? This topic may be a bit big, I think of the following:

1. First of all, you must have a sense of responsibility, put your mentality right, treat this issue as a problem you have to deal with independently, and don't always feel that you have a backing and a retreat. I clearly remember that an implementation engineer called a colleague at the scene and said that the data collection of the equipment was not available. Later, a colleague asked, the reason was that the data collection software was not installed. This is really dumbfounding. It's like a person who bought a car and called the salesman to say that the car would not move even if it stepped on the accelerator, because the car was started without the key inserted. If you have a little knowledge and think about it, you don't need to have such low-level jokes. If you always feel that even if you don't do this, someone will do it for you. Then you will be prone to laziness. Lie on the bed, make a phone call, let others solve it, and sleep there. In this state, it is impossible to cultivate any problem-solving ability. Only when you treat things as your own business, the problems you have to face and solve, can you step on your heart to figure out how to solve this problem, and then you can solve this problem yourself, and it is possible to solve this problem and accumulate similar solutions experiences and lessons. Otherwise, it will always be at 0 and there will be no progress.

2. Need to reserve certain knowledge and skills. This is the premise. The boss will not arrange for a chef to haircut the guests. All the tasks assigned to you are most likely to be in the relevant skill areas you are engaged in, at least a little bit. An engineer must have something he is good at and familiar with. This skill or specialty requires a certain amount of time to accumulate, such as mastering a major in university or participating in a knowledge training class. After learning the knowledge and mastering the skills, you have the basic premise to solve the problems in this field. With this premise, an engineer has the ability to solve a specific problem. If you do not have this prerequisite, you can start learning now.

3. Plow your skills deeply. Having certain skills can solve some common problems, but if you want to solve more and more complex problems, you need more advanced professional skills. This is the requirement of the master and the niuren. To become a master, it is essential to spend more time and energy to improve skills. The "Ten Thousand Hours Theory" states that if a person wants to become an expert in a certain field, he needs 10,000 hours of accumulation. There may be no shortcuts to this, but to master problem-solving skills, there will always be some good methods that can speed up the time to master skills. Just as some classmates in their student days mastered their own learning methods, they achieved a multiplier effect with half the effort. A good way is to think more, try to figure out and practice, and slowly summarize a routine, which requires more study and practice. In short, you have to pay first, and continue to summarize and refine in the process of making efforts, in order to train your skills to perfection.

4. Form thinking and methods for solving problems. Possess deep technical skills, because a person's energy is limited, but also often in a certain aspect. When a problem occurs beyond a person's well-known technical field, it is necessary to have certain problem-solving thinking and methods to further solve the problem. For example, if an implementation engineer only knows the software implemented, but does not know anything about the computer network, database, etc., he still cannot solve the final problem. Therefore, he needs a holistic view, and he needs to understand all aspects related to the problem in order to comprehensively analyze the root cause of the problem and find a solution to the problem. Problem-solving thinking includes the steps to solve the problem, what to do in the first step, what to do in the second step, the relationship between the problems, if the first step is what happened, then what should be done in the second step. Possess problem-solving thinking and methods, even if they lack the corresponding skills in a certain aspect, they can also acquire certain temporary skills through learning, thereby promoting the progress of problem-solving. When solving problems, it is best to think more, dare to break through your limits, and believe in your potential.

5. Good at summarizing and forming a knowledge base. After solving a problem, pay attention to the summary, it is best to record it. Take programming as an example. I often encounter such a situation, encounter a bug, and spend a certain amount of time and energy to solve it. I am very happy. After ten and a half months, I might have encountered the same bug again. I just remembered to solve the bug, but how to solve it? I forgot to find the information again, and it took a lot of time to solve it. Although it was finally solved, a lot of time was wasted. If after solving the problem, you can record the solutions and steps in time, and when you encounter the same problem again, you can quickly solve it. In this way, the time saved is yours. This is a bit like the "wrong question book" of the student days. Sometimes a question is wrong, and the next time you encounter it, you may make a mistake. Because this is a place where students do not master well, where knowledge is weak. With the "Wrong Question Book", you can deepen your impression of the wrong topic and pay more attention to it when you study. When you encounter a similar topic, you will become familiar knowledge and it is not easy to make mistakes. As more and more problems are solved, the knowledge base formed by oneself becomes larger and larger, and the ability of engineers naturally becomes stronger.

There are many ways and methods to enhance the ability to solve problems. All roads lead to Rome. As long as you take the problem seriously, believe in the sentence: There is nothing difficult in the world, I am afraid that there are people with a heart.

Recommended reading

(Click the title to jump to read)

10 hardworking principles for engineers

Should SF Express fire the operation and maintenance engineer who deleted the database?

Think this article is helpful to you? Please share with more people

Pay attention to the "Python Developer" starred to improve Python skills

640?wx_fmt=png

Good article, I am reading ❤️

Guess you like

Origin blog.csdn.net/iodjSVf8U1J7KYc/article/details/100059232