Chapter 13 Personal Character
Summary: Software development is an engineering activity of "people's intelligence as processing raw materials", which will continue to study intelligence and personality during the development process. Need to pay attention to 20/80 principles, not the most duty is the best. Programming work is difficult to check, whether it is related to master and personal character. You can't change your intelligence, but you can change your character. EQ is still a major factor during the growth of software developers.
1. Smart and humility, more humble progress, the sooner, admit that your ignorance will go to face and make up your mistakes. Understanding procedures requires usually strong grasp and understanding capabilities, which has a big demand for programmers, but very good use of smart to be more intelligent than you. There is a programmer that needs modest, and use modest to promote your wisdom, making it smarter. This is the two basic qualities requirements of software developers, they rely on each other, sometimes excluding each other, and grasp your talents and modest to improve their ability. Maybe something is very troublesome and difficult, we need to use some ways to smart enough to solve them. For example: use a good program to make it easy to understand, use decomposition to simplify complex issues, review and test, more and more people discuss and pay attention to software quality problems, try to use high abstract thinking to make problems, improve reuse Reduce the workload, if the problem walks into a "dead alley" may wish to relax emotions with the cup of coffee, or talk to others, this is a good way to solve the drill angle. 2. Curiosity once you think you understand the ability of the program is limited, and you realize that effective programming is a way to compensate yourself, you have started a long exploration process in your career. It is important to be curious about technology, otherwise you will run rapidly in the times of knowledge explosion. Don't lose your curiosity and passion for academics, nature and life in a busy work or trivial matter. We can build self-awareness during the development process. Through the development of new skills, many development projects can be used in the development of new skills, and learn other solutions, so they have strong grasp of the whole project, and even lead the entire team to better direction. If you are doing now is a good job, it means that some techniques in our work may be eliminated soon, pay attention to keep curiosity and creativity. 2 experiment. An effective way to understand the program is to experiment with the programming and development process. You can write a program and observe how it works, and the debugger is tracked to perform the characteristics of the program. Use a small program to test a less understanding concept, which has a very good help in promoting understanding. Or use a short program to try to make some errors, learn through errors. The mistake is not a sin, and there is no sin. 3 Read the method of solving the problem. Solving the problem is the core of the software development process. A strange phenomenon: people usually can't find a solution from their own problems, even if this method is simple. 4 Do a good analysis and design before action. Although practical and analytical design processes have a big contradiction, a good analysis will avoid you to go premature to a wrong direction, and a good design can avoid confusion. 5 Learn the development experience of success or failure project. A good way to learn programming is to learn from some excellent programmers. It should pay attention to the strategic idea of the project, and grasp the tactics that solves key difficulties in the project. Any mature science is developed by solving the problem. These issues are often seen some examples of well-resolved and can guide future work. (This may also be the reason why many companies pay attention to work experience?) We should strive to study the problems in the work of others, and learn other people's solutions. Take your own code and compare more than your outstanding people, see what is the difference between you? Why have this difference? Who is better? why? Also make your code let others evaluate, so you can improve your program quality. 6 Read the manual, books and journals. The brochure often has some subroutines with some direct calls, which has a great help to our research and solve specific problems. Books are often introduced in the system theory, and more reading can improve professionalism; the journals often include popular technologies and opinions. 3. The mature part of the honest programming career is honest.
Usually: Don't pretend that you are a master, be happy to admit mistakes, respect the compiler warning, know clearly, not compilation, see if it is wrong, improve the actual status report, provide actual plan assessment, insist on yourself in front of the superior Views. You should pretend very little, listen to others, learn, and evaluate whether they understand what they are discussing :) You should have a certain degree of evaluation of yourself, think you are perfect is an unique signal. . The error is as a complex activity like the trend. If you have not made a mistake in the past, no one will blame you. So face your own mistake. When you don't know the program, compiling operation is not a way to solve the problem. Test is the existence of the wrong mistake, rather than guarantees no errors. If you can't understand the procedure in depth, you can't test it. The exact state report is given according to the facts, which cannot be deceived and others, which is the premise of full cooperation. It is not possible to meet the rule of law because of pressure - this project requires 10 months, and it is necessary to use 5 months to complete the performance or other practices - accurate upwards. 4. Exhabilitation and cooperative truly excellent programmers should learn how to work and entertain others. Really reading the program you write is human, not to the computer - paying readability of the code. Most of the high-level programmers adhere to their code readability and take sufficient time to do this. Definition standards for programmer capabilities: 1 beginners are programmers that can use a basic ability, he can use subroutines, cycles, conditional statements, or many other language features. 2 The middlemen have the ability to use many languages and at least very familiar with a language. 3 experts have a deep accomplishment to their language or environment or these. This level of programmers are valuable to the company, and some programmers often stay at this level. 4 Masters have expertise such as experts, and realize that the programming is only 15% and computer exchanges, and the remaining 85% is deal with people. General programmers are only 30% or less. And the master pays attention to the clear and easy-to-understand code to see, and pay attention to establishing a document. High level codes that do not emphasize readability may stay on the level 3. And according to experience, the main reason for writing unreadable code is: code quality is poor or writer, does not fully understand their code. When you know your own level, you don't have to be guilty and your own. After you know how to improve the level, you should stay in your initiator or expert level for a long time and guilty. 5. Creativity and Discipline Although some creative programmers regard various standards and agreements as hindrance to their creativity, it is impossible to achieve these constraints. Don't build an agreement in an irrelevant area, you should play your creativity in a worthwhere. An outstanding programmer needs to comply with many rules. If you do not analyze the needs before the encoding, you can't learn many things in the project, just like a child painting rather than art. 6. Lazy lazy form: 1 Delay yourself work 2 Quickly solve the annoying tasks to get rid of the task 3 to write a tool to complete the annoying work. When you are not looking at the problem through the glass, you will see another aspect of lazy. "Circulation is" is a kind of excess and unnecessary "effort". The most important phenomenon of effective work is that people are often thinking about calm and not busy. A very busy programmer is not a good programmer, because he is not using the most valuable tools and minds for him. 7. It is not the character of your imagination: This is a wealth is also unfavorable. You can call it stubborn or strong, depending on the application of it. In most cases, "persisting" of software development is stubborn! When you encounter a new question, you are not good for you. You should quickly adapt to it, or when you don't work, learn to use another solution.
In debug, you will be very satisfied when you find a long-awaited error. But in fact, if you are in a period of time - usually don't get any progress for 15 minutes, you should give up missing. Use your subconscious to think about the problem, try to solve problems with other methods, or even rewrite the bored code segments. When making a struggle with a computer error, you should try to avoid them. Know that it is difficult to give up, but you must face a problem: When you feel that you are frustrated, do you think that you have different methods. Experience: too dependent on experience will lead to the ruins of knowledge. Today's experience must serve tomorrow. If you don't summarize some valuable principles or regularities and change yourself to adapt themselves, you will not be worthless. If your experience still stays in the last battle rather than the next time, it is not a hindrance because of time. In addition, the wrong experience often does not have objective evaluation. The wrong experience allows you to get important different conclusions, learn other people's wrong experience is a good way - you can do objective examinations. Professionals with successful experience in other fields often make people feel relieved, and in software development, knowledge updates have quickly enabled "experience" in this area in a strange position. In order to make yourself value, you must keep up with the trend, and the programmer for the young asking for knowledge is advantageous, and some old programmers believe that they have something to qualify and I have to confirm myself for a year. Ability. If you have worked for 10 years, you have received 10 years of experience that is not necessarily real experience - if you persist constantly, you can get experience, but if you don't want to learn, no matter how much you have learned. Nothing. Programming: If you have not spent a month in one month - a day in one day - a day; in order to find the last error in your program, you don't forget it, you have not been in the day. Night place work - even if the procedures you have compiled are not complicated, you may not be aware of some exciting things in the program. Edward Yourdon This kind of obsession with programming is purely a mess, and almost destined to fail. But those online programs make you feel the best programmers in the world, but you have to spend a few weeks to correct your mistakes in this short time, you may love your programming. But you should calmly handle this problem. 8. The good habit of habits is because most things that you make for a programmer are all done in unconscious. Become a good or poor programmer in a certain point, mainly by your own. If you are doing it, I decided to make your programming. In the end, your habits have decided whether you can become a good programmer. When you start to learn something, you should learn it in the right way. When you start studying, you have thought about it and you can make a easy choice between the correct or wrong pathways. After you have made a while, you don't pay attention to you, at this time, "The Power of Habits" will start. The habit of ensuring role is what you want. Section