Programmer maturity marks "Programmer growth roadmap: from entry to excellence" (excerpt 3)

Source: Internet
Author: User
Programmer growth Road Map: from entry to excellence (excerpt 3)

A sign of programmer Maturity

After several years of programming work, programmers really want to know their own skills? Have you become a mature programmer? Although programmers will have a self-evaluation of themselves, their own evaluation is different from the social evaluation and professional evaluation, so programmers cannot be sure of this evaluation. In reality, in addition to various certificates, few people will specifically give a programmer's maturity evaluation. People often occasionally make good or bad comments to the programmer's work on an hourly basis. As a result, programmers are confused about this and do not know where to evaluate their abilities.

If a programmer is not mature, I would like to share my thoughts on the following aspects.

1, Technical mark

If the programmer does not compile the program, it is by no means a programmer. The programmer must at least master a programming language and be able to write the program in this language to solve the problem he wants to solve. However, mature programmers often master more than one programming language. The mastery of three to four languages is required, and the mastery of one or two languages is also required.

In addition to mastering the number of programming languages, we can also look at the technical level of programmers from several other aspects. For example, function writing capabilities (naming, format, size, classification, parameters, reuse, etc.), process-oriented capabilities, object-oriented capabilities, database technical capabilities, and efficiency processing capabilities, security processing capabilities, network processing capabilities, software architecture capabilities, human-computer interaction capabilities, general software capabilities, software documentation capabilities, and so on. In particular, the mastery and Application of object-oriented technology and service-oriented technology are all required by mature programmers.

2, Time mark

Although programmers have different daily resources, qualities, and basic knowledge, and experience different work content and environments, time is also a sign of the maturity of programmers. Generally, it takes three to five years for programmers to become more mature. It takes one year to get started and two years to grow. This is the average data I have observed for a long time. I don't think the shorter the maturity time, the smarter the programmer, the more amazing. Enjoying the full time of each stage will make your growth more fulfilling and more mature. Of course, there are also situations that are not mature, which is also normal.

3, Project logo

The social nature of programmers is one of the symbols of the maturity of programmers. Programmers who have not participated in the project can only be pure programmers. They are a standalone programmer and individual programmer. They are far from mature. As a social activity, projects reflect the social value of projects. Therefore, project capabilities are also an important indicator of the maturity of programmers: Project capabilities include the number of projects participating in the project, the size of the project, the role assumed in the project, and so on. As far as the role of the project is concerned, it is necessary to host more than three projects of the Development (project manager. If a programmer has not presided over development, no matter how many projects he has participated in, no matter how much role he has played in programming or project design, it is difficult to call it mature, project organization, coordination, and management are another sign of a programmer's maturity. Just as a programmer can participate in more than 10 projects, large and small projects, or be able to participate in or host the development of more than two large projects, the maturity level is trustworthy. If the number is lower than this, it means there is still room for mature programmers. "We grow in the project" shows how significant the project has for programmers.

In addition, programmers only develop one or more projects for an enterprise customer, or enterprise development projects in the same industry. If programmers can develop projects in multiple industries, its maturity is higher than that of ordinary people.

4, Thinking Mark

There are still obvious differences between childish and mature ways of thinking. As far as programmers are concerned, immature programmers do not have a strong logic and are not organized, and no one can understand them even if they have explained them themselves. Mature programmers should have strong logic and well-organized programs that can be understood without being explained by others. This logic is also reflected in the architecture design, database design, algorithm design, and other aspects of the software. Programmers perform logical analysis on various things through the complete subset concept, time concept, sequence concept, and key and non-key concept. For example, the concept of order is used as an example. Immature programmers tend to develop programs in a bottom-up way. They first consider the specific implementation of the program, then functional design, and finally architectural design. Mature programmers use the top-down thinking mode. They first consider architecture design, functional design, and programming implementation. The former is mainly out of work inertia and only suitable for the entry stage. The latter reflects the latter's progress and is suitable for development of various projects or large projects.

In addition to the logic of thinking content, programmers should also deal with the relationship between brain and hands-on. Attaching Importance to thinking is a sign of maturity. Mature Programmers spend more time thinking than hands-on programming. After thinking about it, programming is successful once, while immature programmers often spend more time doing hands-on programming than thinking, in addition, it is the side-by-side thinking that approaches the final goal through repetition.

In addition, mature programmers are more open-minded than ordinary programmers in terms of thinking scope. They are more likely to accept new things, consider problems without any constraints, and be more brave in challenging themselves and masters.

 5, Interact with people

Many people think that programmers are dealing with computers. This is only a feature of this profession. However, as long as work is necessary, it is a kind of social work. Social Labor must communicate with people. Although the programmer's labor tool is a computer, it does not mean that the programmer only thinks about it. From the downstream of this tool, programmers still need to consider whether the software products produced using this tool are purchased, used, and run normally. From the upstream of this tool, who makes programmers understand the design scheme, who makes programmers compile the program, who makes the programmer program pass the acceptance, and so on. Therefore, programmers will deal with others in every aspect of software production. Only effective communication with people can make our work better.

If a programmer is still immersed in the artistic conception of personal work, and is indifferent, helpless, and fearful to the outside world, he does not want to deal with the outside world, no matter how high he feels his technical level, still an immature programmer. Mature programmers must pay special attention to interactions with people, whether they are superior leaders, external customers, project managers, Team peers who are closely related to their own work, friends of non-organizational colleagues, and netizens, they will listen carefully to others' explanations and requirements., comments, suggestions, and feedback. Get more good ideas at work, technology, and life for your reference and absorption. At the same time, communication with people also reflects your good ideas and good technical skills. These ideas and technical skills are also a reflection of your maturity. Programmers who have no idea or technical skills are indeed afraid to communicate with others.

Communication with people has two basic abilities: Understanding and expression. Both are indispensable. For example, some programmers have poor comprehension ability and cannot understand the requirements put forward by the project manager. Some programmers have poor expressive ability, no logic, no emphasis, and are capable of putting others on the cloud. This is an immature performance.

6Others comment

Others' comments, especially those of colleagues in the Organization and those who know their work conditions, are of reference value. In general, the evaluation is poor, and it is not mature. The evaluation depends on the situation. The comments made by colleagues in the Organization are based on two aspects: one is the person's situation and the other is the person's ability to work. If both are good, we have reason to think that this programmer is mature. On the contrary, no matter whether it is a strong working ability, but a poor person, a good person, or a weak working ability, I don't think it is a mature programmer.

Therefore, programmers should pay attention to others' comments on themselves. while improving their technical skills, they should learn to be human, be good people, and share with others. In this way, other people will give them better comments.

Ignoring others' comments is actually an immature performance. It is really good only when you feel good and everyone feels good.

In fact, if others' comments are limited to their own units, I am afraid the value of such comments will be compromised. If the number of technical personnel in this unit is small, the level is generally very low, even if you stand firm, you are very appreciative of you, but you are not necessarily mature compared with programmers in other companies and organizations. Therefore, I said others' comments are just a reference.

7, Income Indicator

Revenue is also a reference symbol for mature programmers. The amount of income is often the recognition of the programmer's social value, indicating the programmer's labor value. In general, mature programmers can earn an upper-right level of the average income of the software industry, or earn a higher income than about 80% employees in a unit or department. The income of programmers who have just joined the job should be quite different from that of programmers. In addition, the project bonus of the Organization also shows the programmer's position and role in the project.

In reality, we know whether the income of programmers is proportional to their contributions. Moreover, the more powerful the programmers are, the more they contribute, it may not necessarily be much higher than the programmers who are less competent than others. This is not a common fault in the software industry. This situation exists in almost all industries. Through analysis, we believe that the maturity of programmers should be linked to their income levels. If we know that our capabilities and contributions greatly exceed our income, we have reason to propose our own income requirements to our superiors.

 8Psychological Quality

Programmers often face various successes and failures, especially failures, which are more than successes. This is also one of the characteristics of the programmer profession. Taking programming as an example, almost no one can compile the program at a time. It always has to encounter various syntax errors and all kinds of omissions. A program must be modified and debugged several times before it can be completed. Some programmers are so upset that they cannot find bugs in the program, so they are helpless and lament. Taking work as an example, some programmers are often criticized and criticized by others for their work progress and program errors. They are extremely dissatisfied and think that the critics do not understand the objective reasons for this result, wrong people criticized. In this way, people may have opinions and even have an impact on their work. In the face of failures and setbacks, mature programmers will face it with confidence: the problems encountered during programming are not terrible. If there are any problems, they will solve the problem. If they cannot solve the problem, they can think of other methods to solve it, not hanging on a tree. In the face of criticism and criticism from others, we should first look up the problem from ourselves, and we should take the initiative to take responsibility and correct it as soon as possible. Not your own problem. You should think differently, understand the anxious mentality of the critics, and find opportunities to explain. A good psychological quality is very calm, strong, and confident in the face of difficulties and setbacks.

Programmers will also face success. Some programmers feel good when they develop a project and write a program. unconsciously, they show me the best, the best way to do it. They boast to others, and they despise others. What's more, it is fruitless and mediocre, but it still looks like a master. Some people only participate in a project and are not the main developers of the project, but will be greedy, it seems that this project was developed by him. These are actually another manifestation of immature psychological quality. Mature programmers do not feel superior in the face of success. It is their own credit or their own credit. It is others' credit or others' credit, even if they are much higher than others, he is still thinking that there is still a higher technical peak waiting to climb, not to be proud, to see others' achievements first to congratulate, and then to learn, instead of being jealous, pick a thorn from it, try to degrade.

A good psychological quality enables programmers to handle various problems brought about by Success and Failure more rationally. It is more conducive to programmers to surpass themselves and meet more challenges with a common mind.

Of course, whether a programmer is mature is a matter of benevolence and wisdom. Some emphasize the personal competence of programmers, while others emphasize the social competence of programmers. I think the above eight aspects should help to judge whether a programmer is mature. We are a sign of maturity. One purpose is to give a positive and encouragement to the programmer's previous growth process, so that the programmer can recognize his stage and find a basis for self-confidence. Another goal is to put forward higher requirements for the future growth of programmers. Becoming better is a greater challenge for programmers.

 

Internet: http://product.china-pub.com/197989

Dangdang Network: http://product.dangdang.com/product.aspx? Product_id = 21065274

Zhuo Yue: http://www.amazon.cn/dp/B004X3Z3FC/

Douban.com: http://book.douban.com/subject/6075127/

Official Weibo: http://t.sina.com.cn/2108296203

 

 

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.