Without knowing it, I have been doing software for ten years. I have the joy of success and the pain of failure, but I dare not say that I am a master because I am in comparison with my real masters, the difference is too far. There is no shortcut to becoming a master in the world, but some basic principles can be followed.
1. Solid Foundation. Data Structures, discrete mathematics, and compilation principles are the foundation of all computer science. If they are not mastered, it is difficult to write high-level programs. According to my observation, people who study computer science can write high-quality software better than those who study other majors. Everyone will write the program, but when you find it difficult to improve to a certain extent, you should think about whether you want to learn these basic theories. Do not learn Oop from the beginning. Even if you are proficient in OOP, you may be helpless when encountering some basic algorithms.
2. Rich imagination. Don't stick to a fixed way of thinking. When you encounter problems, think about several solutions and try the methods that others never thought about. A wealth of imagination is based on a wealth of knowledge. In addition to computers, you are more involved in other disciplines, such as astronomy, physics, and mathematics. In addition, watching sci-fi movies is also a good way.
3. The simplest is the best. This may be a guideline followed by all science. In the eyes of Einstein, such a complicated principle of energy exchange is simply a formula that cannot be used simply: E = mc2. Simple methods are easier to understand, implement, and maintain. In case of problems, we should give priority to the simplest solution. If a simple solution cannot meet the requirements, we should consider a complicated solution.
4. Do not drill corners. When you encounter obstacles, you may wish to stay away from your computer for the moment, look out the scenery outside the window, listen to light music, and chat with friends. When I encounter a problem, I play games, and it is a very violent combat game. When the brain cells in charge of the game are extremely excited, the brain cells responsible for programming have been fully rested. When I start my work again, I will find that the difficulties can be solved now.
5. thirst for answers. The history of human natural science is a process of waiting for answers. even a small part of the answer is worth the effort. As long as you firmly believe that you must find the answer to the question, you will be able to focus on exploration. Even if you do not get the answer at the end, you will learn a lot in the process.
6. communicate with others. You may be able to draw inspiration in a casual conversation with others. Surfing the Internet more and seeing what others think about the same problem will inspire you a lot.
7. Good programming style. Pay attention to developing good habits, code indentation, and variable naming rules should always be consistent. Everyone knows how to eliminate errors in code, but often ignores the troubleshooting of comments. Annotation is an important part of the program. It makes your code easier to understand. If the Code already clearly expresses your thoughts, you don't need to add comments, if the comments are inconsistent with the code, it is even worse.
8. Toughness and perseverance. This may be the biggest difference between "experts" and general programmers. A good programming is 99% sweat and 1% coffee. Masters are not geniuses. They are honed in countless days and nights. Success can bring us great joy, but the process is very boring. You may want to perform a test, find a prime number table of less than 10000, copy them all, and then check them three times. If you can do this without interruption, you can satisfy this rule.
These are some of my experiences with the programmer's career over the past few years and I hope to help you.