"Rookie" and "Master" For programmers who have just started working, technology is the starting point. Let's talk about technology. First, please think about these questions. There are many programmers in society now, so have you ever thought about why programmers have different levels? What kind of programmer are you? What is the difference between a "rookie" programmer and a "master" programmer? Is the difference really in technology? If it's not in technology, then where is the difference? I hope you are not confused by the series of questions above! Then let me analyze the answers behind these questions one by one. To be precise, programmers are divided into "novice" programmers and "master" programmers. How good a programmer is depends on the code he writes! The programmer's own code is the true reflection of his work status. What is the difference between a "rookie" programmer and a "master" programmer? Let's take a look. Code display, network application Display title: A very small function, such as displaying an optional menu below when the mouse moves under a title. Think about what a "novice" programmer's code looks like. The code of a "novice" programmer is often redundant, and these codes are either found from books or from the Internet. It is also possible that they only know this part of the code (only the extraction of memory remains, and the real principle is vaguely understood, like seeing flowers in the fog). What would a "master" code look like? When you first look at the code of a "master" programmer, it is concise; when you look at it again, it is really "N". With the least amount of code, this program is written very incisively, reflecting his own thinking. Why does this phenomenon occur? The same small function produces different results in different hands. Isn't it worth exploring the reasons? The real reason is: "Rookie" programmers did not integrate their thinking into the code. The code is the crystallization of the programmer's thinking and wisdom. When we got this small function, we first saw that we were not well prepared in this area, so we went online to find it. If we think about how to solve it, there are generally two ways to solve it. The first is to find similar codes on the Internet or in books, and the second is to ask others for advice. This method is unlikely because everyone is busy at work and rarely discusses and helps each other. When searching on the Internet, we often encounter this phenomenon: when we see the program to be written, we feel that we have no ideas. We search on the Internet by ourselves. After searching for a long time, we don’t gain much. We have seen many implementation methods, but we spend a long time to understand. Although we have solved the problem, we go to play. Sometimes we are lucky and the problem we want to find happens to have a solution to this type of problem. Then we just move the code over and get it done! So we keep looping like this, and we have nothing left at the end. The following picture shows the current situation of our "rookie" programmers. (This is a very meaningful picture) The first thing a "great" programmer does when he gets the program is to think! He first thinks about how to implement the problem, and can draw on the original relevant knowledge, list the possibilities of solving the problem, and consider the most difficult points of solving the problem. So when searching on the Internet, he directly searches for the solution to the problem, converts it into his own thoughts, and uses his own thinking to write the code he wants. This is the essence of code being the crystallization of thinking. The answer behind "rookie" Through the comparison of this problem, we can find out why we become "newbies", because we don't think, don't study carefully to find the rules and the essence of the problem. We originally wanted to establish our own thinking process, but we didn't have this awareness, so we always stayed at the "newbie" level. The "great" programmers solved the problem by knowing a few important knowledge points, so technology is not difficult for them, because they have been thinking about it constantly, so we should recognize the gap between us "rookies" and "great" programmers. We should not avoid this problem, because this problem determines our attitude towards solving problems and our life value. Among programmers, why can others earn 8,000 or 10,000 yuan while I can only earn 4,000 or 5,000 yuan (the most among programmers)? This is the fundamental reason. Thinking and problem-solving ability! It is the value of your arrival at a company. In fact, in a company, it doesn't matter how much salary you take away. The key is how much value you create. It is because of the difference in income of 4,000 or 5,000 yuan, the basic consumption of life, and when everyone retires, you will find a rich man and a pauper. We all want to be rich, so how can we become rich? We can move the problem down a bit. How can we become a "god" programmer? We must change, we change ourselves. First of all, when we encounter such a problem, we should change our way of thinking. How can I solve this problem, instead of looking for answers on the Internet when encountering a problem? What is the relationship and difference between this problem and my previous knowledge? In this way, we solve this problem in learning. How to cultivate your own programming thinking? Only when we have our own thinking in programming can we be called an independent body, and we can create unexpected value. It is beneficial to do so for ourselves, because we don't know which programming style (derived from our own thoughts) will become "hot", so that the world of programming can bloom. Through such a small example, we can explain why we are still "newbies", because there are problems with our entire learning technology system and there are big loopholes in our learning methods. Reflect on yourself Looking back on my past, when I was making the beef brisket news release system, I finished typing bit by bit according to the video, and I felt very excited, but when it was running, I was afraid to test it. I finished the system and it had nothing to do with me. Is it really nothing? First of all, I didn’t even dare to test what I made. This is the biggest problem. In fact, when we really learn knowledge, I didn’t do it well. I didn’t test the system on each browser. I didn’t have the courage. It may be that I didn’t think of the seriousness of this problem. But when I was engaged in web project development, I knew that each browser compatibility issue made us have to consider it. This is the biggest progress we have made. Writing a summary of the compatibility issues is a valuable asset for us to engage in web project development in the future, and it provides a stronger guarantee for us to do development in the future. So when I made this system, I didn’t grasp it well. Now I realize my failure, but failure is not terrible. When we realize this problem, how we change ourselves is the direction and goal we want to move forward. When this problem woke me up today, I was caught off guard, so I wrote this blog as a warning. How a “rookie” turns into a “master” Newbies (I am one of them), we should wake up. How to adapt to the enterprise, how to adapt to future development, how to survive are the problems that every programmer must face. I know that there are many programmers who want to be managers, but don’t forget that you have to start from being a programmer to work in the software industry. We don’t even have the foundation to be a good programmer, so how can we be respected by our colleagues and valued by our leaders? This problem is very close to us. We should now change our concepts, the concepts of learning, and the concepts of adapting to the enterprise. Summarize Think about ways to solve problems, don't abuse the tools in your hands, build your own programming thinking, develop your own creativity, and show your own programming essence. This is the difference between a "novice" programmer and a "master" programmer. The above is my personal feeling and only represents my personal opinion. If I have offended you, please forgive me. |
<<: Topic: WOT2015 Internet Operation and Development
>>: Cheng Xianfeng: Next-generation software performance measurement system
The Internet is a portal. In the past, when peopl...
Children's Day and summer vacation are coming...
The introduction of a policy has made ICO (token)...
Why do so many people like to play games with a k...
Starting a business requires costs, and mini prog...
Customer Lifecycle refers to the user journey, wh...
Special Project of Beijing Science Center Origina...
Humans are the longest-lived mammals, but we stil...
“I mourn the brevity of my life and envy the infi...
Tuchong Creative Recently, there are many legends...
Just touch the Home button of your Apple phone wi...
There are thousands of ways to play Tik Tok . It ...
At the beginning of 2024, the exchange of special...
The starry sky is mysterious, beautiful, and out ...
Based on my country's national conditions and...