views:

343

answers:

5

Its coming up to review time where I work and I have the responsibility of conducting appraisals. The company appraisal template unsurprisingly has large parts of it that are useless when appraising a programmer and so I would like to alter it to more suit the role.

The section I am most interested is a section which is designed to mark various skills and score them 1 - 10

e.g

  1. Reassuring clients
  2. Compiling appropriate & accurate letters
  3. Logging clear & concise notes

What can I add to my appraisal?

NB the list above are 3 that I will be removing.

+1  A: 

Possibly ask other developers how easy it is to use code these programmers have written. You don't want MrUnReAdAbLe to make your code impossible to read. Though asking other developers could invite black balls...

Examine their comments.

Check their knowledge of algorithms, data structures, and other programming techniques.

samoz
A: 

I always liked the Fog Creek Professional Ladder concept as this gives everyone a clear indication of where they are now and what they have to do to advance to the next level.

Of course the ladder isn't the same for every company and I'm still having to push hard to have it adopted where I am.

Another good comparision technique are code reviews and how well they contribute and evolve based on the results of that process.

Dave Anderson
+1  A: 

You should probably start with what you discuss with them on a regular basis about what their professional goals and responsibilities are. It is impossible to quantify what most people and how good they are at their job with a few scales which can add up to an average. This is a convenient short cut HR uses to try and make reviews cut and dry. Reviews take real thought, and if you haven't been keeping a list of all of their accomplishments (notice I didn't say anything about mistakes), you've missed something. You also need to take into account what they feel they have accomplished, and why they are proud of it. If you haven't been doing this, you've also missed something. Trying to judge someone based on what you know about how to do their job is a real mistake...why...because you should be actively trying to hire and make them better at their job than you are, not call them down on disagreeing with you. That's why their the programmer and you're the manager.

Kevin
ahem. I'm the programmer too :)
John Nolan
+2  A: 

Hi

The following objectives should come handy when appraising a programmer. Of course you can tailor them depending on the person's aspirations in line with the best interests of the company.

  • Communication skills: Ability to effectively put across views to clients, team mates and superiors. This would involve both verbal (e.g. a tele-conference or team meeting) and written skills (emails, project documents etc).

  • Technical ability: How able the person is to work on his/her current project and how much pro-active effort he/she has put in over the period of an year or so to learn new things to benefit the project.

  • Domain knowledge: Could have a lesser weight compared to others. But some domain expertise in the team in the area of a particular project is always handy.

  • Following company specific processes: How much does a programmer follows processes laid down by the company? This can range from coding guidelines, QA policies and even documentation.

  • Miscellaneous: Factors like client feedback(commendations/rebukes) and peer feedback would also contribute as important factors.

cheers

Andriyev
+1  A: 

A couple of somewhat standard things:

  • Quality of work - Is it high grade, mediocre or crap?
  • Quantity of work - Was there a lot done or just enough to get by?

Here are a couple that may be interesting:

  • Skill progression - Pick x skills that have been developed this year and give examples illustrating the growth.

  • Core values - Illustrate how your work over the past year fits with the company's core values of blah blah blah...

  • Process improvement - Have you identified areas of your work that could be improved by changing the process? Have you asked for any of it?

JB King