How to evaluate the performance of programmers?

Source: Internet
Author: User
Because I am a php user, I especially want to hear the management experience of php programmers. Because I am a php user, I especially want to hear the management experience of php programmers. Reply: if the amount of code is used to measure the workload, the disadvantage is far greater than the advantage. The amount of code added by the employee station does not matter the quality. There are a lot of waste code, which can be said to be terrible. I have done this.

I didn't want to do it. At that time, the company had this system. Before the end of the fiscal year, I had to interview everyone in the Department and fill out a sheet.

We programmers know that this job is not a pay-as-you-go worker in the factory. For example, if you work eight hours today and Assemble 50 radios, quality control engineers will find two defective products for quality management purposes, your performance today is forty-eight radios. If you earn five yuan for each radio, you earned 5*48 = 240 yuan today. If you have a quarterly productivity ranking before, the company will consider adding five cents to each of your servers. So.

But the real performance of a programmer is his competence, which is not an easy-to-quantify concept. Competence can be a creative solution to technical or business problems. It can be the personal efficiency that has exceeded in project development, or the influence of long-term integration with other departments, it can never be the self-management capability of bottleneck. It can be because of the certainty that personal strength brings to the project team. It can be a special technical solution, concept, and practice when necessary, it can be that you are willing to invest your time in the team spirit of your own field in the crisis. It can be the contribution of writing to the open-source community and the intangible benefits it brings to the company, it can be to lead new people to greatly accelerate their integration, or it can be a string of inspirational high-quality code...

In general, it is the ability to handle things with your own technology and experience.

Programming is too complicated. One person can contribute too much. If the traditional performance appraisal system is used, it is easy to put a curse on the team. The system is not suitable and does not fully reflect the nature of work, there will be side effects, system and people, and there will be shackles between people, distracting the team, and damaging team harmony. People who do the assessment should be careful and put a person in a preset frame. In fact, this kind of work has no significance at all.

Why do some companies have to worry about themselves? Maybe because the boss came from a traditional industry and is not familiar with the IT team's work style, the following people did not dare to tell him. It may be because the company needs this kind of politics to put some pressure on the management. Perhaps because HR thinks this is a necessary part of the compensation system.

Regardless of the reason, this assessment method usually does not improve the productivity of the team and individuals, but only mobilizes many people and wastes a lot of time together. The actual situation does not affect the final salary review, the significance of each individual does not have a material impact. On the one hand, due to various political and non-political considerations, the review always tends to be a moderate line and cannot be overly attacked, we cannot reward the advanced companies too much, especially salary increases. This is what most companies do in the workplace. Every kind of system seems to be well-formed.

My later thought changed, and the form was still filled, but the substantive strategy changed.

First, I want to keep my team morale and raise the recruitment standard without embarrassment for myself and the people in my team due to rigid performance appraisal. The actual team members are hierarchical, and junior and senior high school students should be there. For some time, due to the relationship between projects, there were also very few people who were not satisfied, but I still think the cost is too high. If I find someone who is not decent to come in, I will talk to myself and use the system to get rid of him. It is better to find a standard and then reward him. I have seen such a company, where recruitment is not responsible for the overall situation and short-term cost effectiveness is a heart disease in the middle-level market. All the interviewers who have done this know how to push them to the lower limit of management, in the programmer industry, the mediocre number of people is not enough. The result of a slight drop in the standard is that any performance appraisal can't cope with it.

In this way, every six months or one year of assessment, I only need to focus on whether or not to motivate, how to motivate, how much to motivate, and how to win budget with HR, my colleagues also cooperated.

Therefore, it is better to ensure that at least the current employee is hired when recruiting a poor employee and that the competitive person is more friendly to all systems, the same is true for management. Who is not welcome to the incentive-oriented assessment?

The second is to emphasize individual responsibilities, reduce project scheduling, and try to make every programmer have his/her own field. He is an expert in A business or technology, such as A mobile development, he will try his best to make the mobile app enjoyable until there are no special circumstances, it is not easy for him to randomly adjust to other parts. If you have clear long-term rights and responsibilities, your performance appraisal will be clear. You can tell the vertical results of your work, for example, A completed key reconstruction of the mobile app in the first six months, using A faster update technology, greatly improved the efficiency of the core code and significantly improved the user experience. He knows not to mention these things, because of the clear division of labor, you are also very good at tracking, peer also very clear about what the other party has done, in this way, the assessment system is transparent, which means fairness and efficiency.

From the management point of view, each colleague's work efficiency is tracked for a long time, and the difficulty involved can be judged fairly. If the efficiency of one stage is not as high as that of others, you can take into account the specific circumstances of the part he is responsible for, which can help you make a better evaluation. It is worth considering that you can focus on the specific growth of everyone. In many cases, horizontal comparison is meaningless. When the assessment cycle is approaching, do not fill in the form, you are aware of it.

Perhaps the most important thing is that everyone learns from their focused work and has a greater sense of responsibility for their part. They know that these are in the company's assessment system, are visible. When necessary, they should be ready to take on more responsibilities.

What you really want to do is to try to motivate them to the company. In extreme cases,
-- For example, a team that has passed the trial of agile development theory --
You can split a requirement into N modules with sufficient details and provide standard working hours for each module.
Calculate the performance based on the standard working hours.

However, in most cases, this situation cannot be met.
Computing by the amount of code is especially unreliable! Especially unreliable! Especially unreliable! Check the quality of the Code submitted by the programmer for about ten days (or even one month) at random, and then check the total amount of code submitted by the programmer every month. Then comprehensive evaluation.

In addition, programmers will inform them of this method when they are new. I am working in a company in Hangzhou. This is what their company does. The boss is also a technical source and occasionally participates in the code review. Everyone also like this method. Sometimes it doesn't matter if the status is poor for more than a week.

Very awesome method !!

Of course, if the programmer is exhausted, then there is no way to do it. I open my sleep around six o'clock, and now I am awake. Because I couldn't help modifying the code written by another two items in our dormitory ...... A prerequisite for performance appraisal is measurable work.
From this perspective, two methods can be used in combination:
1. Amount of code. When I submit my work after work every day, I will make statistics on the number of new lines of code modified today. The industry base level is about 200 lines.

2. Divide and manage tasks in detail. MantisBT can implement this function. The entire development process can be reflected on mantis. Analysts split tasks step by step and divide the final sub-tasks into programmers. programmers can estimate their workload by counting the number of completed tasks.

In fact, I think the BOSS's anxiety lies in its inability to "Visualize" the progress of the project. This task can be achieved through MantisBT and reasonable milestones. When the BOSS sees the progress of milestone-related tasks rising, his anxiety will be significantly reduced.
The amount of code can be used as the basic performance
However, qualified code must have a KPI indicator: Effectively solving the problem, saving resources as much as possible, and making it easy to understand. The amount of code and the number of tasks completed in trac are quantified. These are not enough. In my experience, two non-quantitative indicators need to be added: 1. the upstream (product manager or business department) score helps to correct the supply-demand relationship; 2. Peer Evaluation by colleagues to improve team awareness.

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.