Spring Festival will come, and to the performance of the year-end award of the time! Programmer Performance KPI How do you calculate this long history puzzle?

Source: Internet
Author: User

The performance of programmers , like a long history puzzle, has long plagued a large number of programmers and their leaders.

KPI (key performance indicators KPIs) is an enterprise's favorite performance appraisal tool, but KPIs usually only have a broader set of indicators, and generally can only be decomposed into the head of the team manager, and it is difficult to break down into the individual programmer.

Shortly before the news, Amazon, a Chinese IT engineer, jumped suicide at the Seattle office because it received PIP. What is PIP? The shorthand for performance improvement Plan, the meaning of the expression is probably, give you some time to improve the performance of the work, otherwise please leave. But the actual receipt of PIP 95% is to leave, so the actual meaning becomes, and then give you a little time to find the homes.

But this guy works in America and he's got a work visa. If you lose your job, it means the work visa is out of the question, and it's not going to be in America. All kinds of pressure came together, a moment to think not to open the jump. There is a key word in this story: performance, and the performance of the programmer.

Tools and Methods

In the history of my work, I have changed several companies, each with an extensive and unique way of examining programmers. The first company, after a year of work, I know what is performance appraisal. Because they are using the annual review, a year past the end of the day the manager came to tell you that you are doing well this year, and then don't know what the level of good is.

It was good, but there was no raise or bonus. Efforts to review the work of the year, found that the memory is very vague, with the exception of a few impressive things. And those few incidents, are I messed up the matter, but also poked a hole, the blood of tears to gain valuable experience. Such a thought may feel "good" is probably "a little bad" a slightly milder expression.

When it comes to judging performance by incident, it reminds me of another company that used this critical event method to assess performance throughout the year. Think back to what special things you've done this year, and have events that make it great for colleagues or leaders around you? There is an impressive positive event, then it is excellent, if negative to the event is also need to improve the promotion, the other is general. On the surface there is a little rationality, but it is not so reasonable to combine the nature of the programmer 's work.

The method above is either vague or just not considering the difference in the nature of the work, so the following company's evaluation method is completely nonsense. At that time, the company adopted a mandatory distribution of performance, such as a department of 10% of people have excellent, 10% of people are poor, others belong to the general. Such assessments are done once a month, directly linked to performance bonuses in the current month's wages.

Above such a mandatory distribution down, the department redistribution to the group, team leader a look at everyone is a brother, a year there are 10 months on business in all parts of the country, every day overtime do not say, but also to give a poor performance evaluation, unkind. Everyone a discussion, then take turns, this time got bad, in a few months will get a good, such performance evaluation basically is a mere formality, meaningless.

In recent years, star companies such as Google have used a large-scale tool called OKR. OKR is the abbreviation for objectives and key Results, which represents the goal and key results. This sounds similar to KPIs, but they have an essential difference that is directional, and KPIs are generally broken down to be done by you. And OKR is what I want to do, KPI is the assessment tool, and OKR is actually a management tool, tracking the objectives and direction of doing things. So OKR is not a silver bullet to solve the problem of performance evaluation.

In general, these performance evaluation tools and methods of GM seem to be less useful in the face of the programmer's performance evaluation. This may have to do with the programmer's work in essence.

Work and evaluation

There is a master in management called Peter Drucker, he first put forward the concept of knowledge workers (knowledge worker), Drucker was born in 1909, so he experienced a revolutionary change from the industrial era to the information age. The early industrial era only the concept of workers and managers, then the industry is heavily capital-driven manufacturing, workers are characterized by the assembly line of manual labor, simple repetition, the process is easy to monitor, the quantity and quality of output results are easy to detect, so the personal KPI is easy to quantify.

And the knowledge workers defined by Drucker are:

Those who master and apply symbols and concepts, use knowledge or information to work with people.

Obviously, a programmer is a typical knowledge worker. Knowledge workers not only use knowledge, they also create new knowledge, gain insight from knowledge, and then generate wisdom.

The main output of a programmer is code or delivery of a software system. But the code of a software system is usually done together by multiple programmers, so you can't accurately measure the contribution of each programmer. Don't take it for granted that the programmer is evaluated with some simple and crude indicators, such as: lines of code. Such indicators are easy to define, easy to measure, so the assessment is easy to implement, and easy to implement the assessment is always first adopted. But the premise and the starting point is wrong, will only be opposite, away from the target more and more far.

Fortunately, it should be recognized that such a simple indicator is not able to evaluate the output of individual programmers, but if the number of lines of code is really evaluated, it can solve another long-established controversy in the procedural world: curly braces {Whether to write at the end of a line of programs or another line:).

Paul Graham, the father of Silicon Valley entrepreneurship, wrote in the book "Hackers and Painters":

Programmers are the craftsmen of the age of knowledge and the largest group of artists who are still present.

The top 5% programmers write 99% of the world's best software.

It can be seen that the difference in contribution between the programmer's individual differences is large. Unfortunately, we do not yet have any practical measurement methods that can accurately assess the individual contribution of the programmer. So Paul Graham went on to say:

Big companies make every employee's contribution average.

The biggest problem with big companies is the inability to accurately measure the contribution of every employee, most of the time it's just guessing.

I vaguely remember seeing an example from Intel, the original text can not remember, probably briefly restated. Is that a chip design engineer has proposed and improved a chip design and production method, applied to a production line with an annual output value of $1 billion, and increased the output of 1%. Then his direct contribution is easy to calculate is a year for the company to increase the value of more than 10 million dollars. But the question is, how do we reward him for this remarkable contribution?

This example also mentions that his chip design department has more than 100 people, so on average, the entire department of the per capita contribution of less than 100,000 dollars. So, the reward that the company can give him is actually far less than the actual value added, which is a typical example of a big company averaging. But in this case, it doesn't have to feel too unfair to actually leave a big company like Intel, and that chip engineer is probably not going to make that contribution. Large companies on the one hand average personal contribution, on the other hand also for individuals to reduce the risk while providing a contribution to the amplifier.

Conversely, if it is in a small entrepreneurial company, it is still averaging the calculation of personal contribution. But fewer people, the average drop is less. The advice for a small start-up company, Graham, is:

You'd better find good people to work with because their jobs are calculated on an average with yours.

Results and impact

Measure your goals and reach according to SMART principles :

    • Specific (Clear)
    • Measurable (can be measured)
    • Achievable (can be achieved)
    • Relevant (related)
    • Time-bound (Time limit)

Only the "measurable" one is more difficult to implement in the programmer's individual, so I am afraid that we can only give up accurate measurement and turn to target orientation. The so-called goal or KPI is nothing more than the superiors of the expectations of subordinates, and then to determine whether the performance of subordinates to meet expectations. If the superiors do not have a clear expectation of the subordinates, if we do not know exactly what to expect, the most likely result is nothing.

Will the results of the assessment be based on the achievement of the goals? The surface sounds reasonable, but it is problematic to think carefully. If the superior only uses the goal management to decide subordinates ' promotion rewards and punishments, so that subordinates only focus on the "good" goal, that is easy to achieve KPI, will miss other possibilities.

The story of Columbus proved this, and Columbus set a new route to find Asia (the East Indies), but eventually he found the Americas and opened up a period of centuries-old European expeditions and colonial overseas Territories, so:

Even if a subordinate does not achieve the goal set, his performance may still be rated as outstanding.

There was a gap between the goals Columbus had set and the final results, but it was not possible to say that he had done poorly. Overly binding targets limit the path and control the risk, but motivating innovation means taking risks and, if there is no risk, almost no amplification.

But in individual terms, you need to distinguish between individual performance and opportunities for individuals to gain growth and ascension. Therefore, it may be useful to divide the two effects into:

    • Output performance
    • Growth performance

The former is more concerned about the organization, the latter is more concerned about the individual. Of course, organizations now say they care about their employees ' growth and provide training, but more often than not, organizations are more inclined to buy mature trees in the market. So you should not wait for the organization to remember to give you water to grow, growth performance is usually only self-assessment, and this in many organizations also directly affect your upgrade.

...

In the book "The Way of the Programmer's cultivation ," wrote:

Pragmatic programmers not only have to finish their work, they have to do it beautifully.

So, please: "Care is about your craft. think! About your work. (Care for your skills, think!). "After all, you're still a craftsman, and you have to eat by craft."

Now for a moment

Sometimes faced with an awkward situation: a group of programmers, you want to promote a manager, should not promote performance better? While you promoted the Super programmer to Manager, you also lost your super programmer and created a poor manager. In turn, you're going to promote a poor programmer to be a manager, which is even worse: creating a lousy manager, and possibly losing a bunch of programmers from the super to the best.

written in the end :forFreedom look outside the world, and it this line, not to go to Google data, finally, Amway a V--PN agent. a red apricot VPN, to Google to check the information is the absolute first choice, the connection speed, the use is also convenient. I bought is 99¥ a year, through this link (http://my.yizhihongxing.com/aff.php?aff=2509) registered after the Member center to lose the coupon code, split down, only 7 yuan per month, special benefits.

This document tags : programmer KPI SMART Performance Assessment Tool

Turn from SUN's BLOG-focus on Internet knowledge, share the spirit of the Internet!

Original Address: " Spring Festival will arrive, and to the performance of the year-end award!" Programmer Performance KPI How do you calculate this long history puzzle? "

related reading:"Aaron swartz– Internet Genius to open the life course: every moment asked himself, now the world what is the most important thing I can participate in doing?" "
Related reading: " site environment Apache + PHP + mysql xampp, how to implement a server on the configuration of multiple sites?" "

Related reading: What is the engineer culture? Why are the engineers alive? Why do I need an engineer culture as an IT or internet company? "

Related reading: useful for programmers: 2017 latest in Google's Hosts file download and summary of the various hosts encountered the problem of the solution and configuration of the detailed

related reading: the Win10 perpetual activation tutorial and how can I see if the Windows system is permanently activated? 》

Related blog:SUN ' S blog -Focus on Internet knowledge and share the spirit of Internet! Go and see:www.whosmall.com

Spring Festival will come, and to the performance of the year-end award of the time! Programmer Performance KPI How do you calculate this long history puzzle?

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.