10 qualities of perfect programmers and 10 signs of being unsuitable for programmers

Source: Internet
Author: User

 10 qualities of perfect programmers

Each quality of perfect programmers has a scope, which depends on the specific problem and background. There is no perfect Programmer (at least on our planet) capable of solving all problems, and perfect programmers should have the following qualities for specific problems:

  1. extraordinary talents-Ability to understand problems, translate and express ideas with clear and readable code, be good at analysis, and have strong logic thinking abilities (scope: solving complex problems in a simple way)

  2. Outstanding charm-Combination of Excellent personality (focus on details vs creative, flexible and changeable vs stick to the pawntree, be good at communication vs maverick)

  3. Species in the industry-Have certain knowledge and experience, and can use professional skills to solve user problems under specific conditions (scope: experts in a field, programmers who have rich experience in different fields ).

  4. Proactive-People who care about their work and show high enthusiasm, interest, and love for programming (from people who only work for money to people who do not pay for their work in their spare time ).

  5. Mature and stable-Proficient in and using reasonable software development principles, agile methods and practices, design and architecture models, domain-driven design, unit testing, and restructuring (scope: From a passionate hobbyist, to a hacker who can constantly develop new methods ).

  6. Pragmatism-Understand what is possible, like simplicity and practicality, and avoid excessive design; understand business goals, stay close to reality, and focus on what to do (scope: from self-taught artists, to self-motivated, pragmatic and successful people ).

  7. Collaboration-People who can listen to and accept good ideas, support the team's goals without reservation, share their thoughts and knowledge with others, and are willing to guide others (scope: from an exception to a team lead ).

  8. good at communication-Ability to efficiently communicate and exchange ideas with others, and support knowledge and decisions that give clear explanations, judgments, and answers to the system (scope: From a quiet and introverted person, to a system interpreter ).

  9. Unlimited Potential-Possess career goals, excellent skills, curiosity, strong adaptability, and continuous introspection (range: from a person who reaches the limit to a future programming star ).

  10. foresight-Have a higher vision, understand the related background, trends and personnel, and take actions to achieve the potential goals of the team and the company, and strive to build a common vision for the software system (scope: from people who are only interested in programming to visionary entrepreneurs ).

  How can we find perfect programmers for specific problems?

It is certainly better to find programmers with the best quality. However, these alternatives are expensive, and you may get bored with your problems. Therefore, the following measures can be taken:

  • 1. Understand the problem, evaluate the level of each quality before hiring them, and prepare the problem or even test.
  • 2. Build a perfect team, but not necessarily perfect programmers. As long as you ensure that part of the quality of the team members has reached the expected level. For each team member, collaboration is the most important quality.
  • 3. create the necessary environment to enable these excellent qualities to play an effective role. Use the correct leadership style and make programmers feel happy.

People with excellent Core qualities will propose optimal methods, including writing unit tests and refactoring, learning design patterns, and most importantly, developing outstanding and practical software.

 

 

Programmers can make a lot of money. Software developers can wear software for seven days a week. Anyone can become a programmer by self-learning. These are only a small part of the reason people want to become developers. Unfortunately, candidates with primitive intelligence or knowledge are everywhere in the talent market, but they do not have the correct attitude or character they need to become a good programmer. When deciding whether you should be a software developer, you should consider the following things.

1. training rather than self-study

Even if the company has an appropriate training program for other types of employees, most development departments rarely offer training opportunities to programmers. At most, you will be reimbursed for the costs of purchasing books. They all want programmers to master all (at least most) necessary technologies on the first day they step into the company. Even worse, they subjectively think that programmers are very smart and very good at solving problems. This allows upper-level managers to believe that excellent programmers do not need training. Most importantly, training costs for developers are quite expensive. What are the results? When you transfer your job, you need to figure out what to do next and learn it yourself if necessary.

2. enjoy normal working hours

The software development project cannot be handed in on time. From a certain point of view, even projects that are completed on schedule usually fall behind the schedule. If you cannot bear (or handle) your spare time and lose the regular or variable because of your superior commands, you are not suitable for software development. At the crucial moment, the superior will only care about whether the product can be handed over to customers with strong assets on schedule, rather than your child's football match or a new TV program you want to watch.

3. I like normal salary increase over job-hopping

In the software development industry, technology is always devalued. Unless your company is dealing with slowly changing technologies, your technology may be less valuable a day. Currently, the technological development level is rapidly changing. Today's popular technologies may be unattended tomorrow. Therefore, it is very difficult to get a salary increase that exceeds the ever-increasing cost of living by repeating the same job day after day. To preserve the value, you must ensure that your technology keeps up with the pace of development. In addition, if you want to raise a salary, you must greatly expand your technology, either get a promotion, or directly change jobs.

4. Unable to coexist with others

Being introverted or fond of working by one person is one thing. Being unable to coexist with others is another thing, and as a developer, this will hold you back. Not only that, your manager may be a non-technical person (or a technician who has not been personally engaged in technical work for a long time), so you must be good at expressing your thoughts to non-technical personnel.

5. Easy to drop your head

Software development often leads to frustration. Document materials are too old or wrong, the code written by previous programmers is obscure, and the boss stipulates certain rules that must be followed but meaningless ...... There are numerous things like this. One day, no one is willing to work with a person who is constantly cursing or screaming at the monitor. If it takes 8 hours to complete a task that seems to be finished in 10 minutes, development is not suitable for you.

6. Be conservative and ignore others' suggestions

There are often many solutions to problems encountered during programming. If you cannot take criticism from others correctly or listen carefully to others' opinions, you may miss some important things. For example, a beginner programmer gave me a suggestion a few weeks ago. After thinking, I decided to try it. It turns out that he is correct, and my previous ideas are wrong, and his suggestion is to reduce the running time of a piece of code from several days to several hours. It would be silly to ignore his opinion because of different experience levels.

7. Do not pay attention to details

The programming process is detailed everywhere. If a movie is a little more complex than Conan, it gets you dizzy, Or it makes you feel a lot of effort to fill out a discount, then, you will not make great strides in the software development industry. Sometimes, a small error such as missing a full stop will generate a random error for the originally Perfect program. If you don't even know where it is, I'm afraid you won't develop much in this industry.

8. No pride in work

Of course, it is possible to write a well-said program. The problem is that the rules are not static. Software development does not seem to have screwed the same screws all day in the factory. It doesn't matter if the screw is too powerful. It requires independent thinking, and developers need to be proud of their work. In addition, some incorrect practices during software development may not affect the entire work at the beginning. The "small mistakes" that you ignore that do not seem to cause any trouble will eventually lead to a big disaster. No sense of pride in work, no serious treatment of each project, the quality of the programmer's work is not high, so the programming career will not last for a long time.

9. Think twice

Compared to programming, software developers (at least excellent developers) spend more time on the project plan. Generally, when programmers start to write code by opening the program editor without thinking about it, most of the code they write will be voided later. After careful consideration, the code will produce fewer errors and consume less time. Many programmers do not know how to write programs properly because the difficulty of software development lies in knowing what to write. It is only half the effort to start blindly working without thinking carefully. If you only do what you do, you may not be able to think about software development.

10. Those who do not like geeks

For various reasons (some of which are reasonable), many people do not like to get along with engineers or technicians. If you think that getting along with people like dumbert or weirdol is a torment, give up the idea of entering the programming industry. Are all developers so weird? Of course not. But there are also some weird people, which is enough to make you suffer in this industry.

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.