Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Possible Duplicates:
How do managers know if a person is a good or a bad programmer?
How to recognize a good programmer?

For your record, I am a programmer myself, and I still do coding. We are not doing your-just-another-CRUD-app, instead we are working on CAD apps.

The nature of software development makes it really hard to gauge a programmer's worth. How can you tell whether a programmer is good or not-so-good?

All programmers who are working with me work on different parts of the applications, and how difficult it is to get those parts working is only known to the person who spend most time in it, in this case it's the programmers themselves; me as an outsider would not be able to fully appreciate the amount of sweat, ingenuity, effort they put in into solving those problems precisely because I don't have a chance to do the same job. This gives me a hard time when I evaluate them. How do I know programmer A is really great at solving the problem at hand and therefore I can throw him a bigger, harder task? And how do I know programmer B is just working hard, but not working smart?

How can I evaluate and compensate programmers fairly?

share|improve this question
    
They ship on time and budget? –  user1249 Aug 24 '11 at 12:00
    
This isn't a problem unique to programmers. My dad has to keep an electrician for six months to figure out if he knows anything. –  Steve Jackson Aug 24 '11 at 12:16
    
@Thorbjørn Ravn Andersen > That's only half of the problem. That's obviously a capital point, but if it's done in a way that will incrase maintenance costs or make future evolution harder, this is not the work of a really good programmer. Actually, this is what qualify a good enough programmer, not a godd programmer. –  deadalnix Aug 24 '11 at 12:24
    
Also a duplicate of What differentiates the exceptional programmers from the really good ones? - we seem to have an almost infinite number of these, and every single time they get mindless upvotes and answers. –  Aaronaught Aug 24 '11 at 12:44
    
@deadalnix, well, if they keep doing it again and again? –  user1249 Aug 24 '11 at 13:32
add comment

marked as duplicate by Péter Török, Walter, Jonathan Khoo, Aaronaught, haylem Aug 24 '11 at 13:38

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

3 Answers

Regular code reviews. Also measure how long it takes to do projects how many bugs those projects have and how much help they need along the way. That should then give you a rough feel for their worth. Also check job sites for what the market rate for their skill level is.

share|improve this answer
1  
ugh to a place that holds bugs against a programmer. –  Ozz Aug 24 '11 at 12:40
add comment

There's no simple answer for this one, every programmer has strengths and weaknesses. That really big task they've excelled at might have been perfect for them, but that other one might be totally off-track for what they're good at and they'll seem like a worse developer.

Evaluating how good they are is something that you'd need to do over months rather than tasks, get a feel for how they approach a problem, how they devise their solution and how successful the implementation is. Try them on multiple different tasks, if they're succeeding more than they're sucking then keep trying to see where their limit is. If they just suck then it's pretty easy to tell if they're good or bad.

share|improve this answer
add comment

I would like to propose that the term 'good' is conditional. Some programmers are good in one area and not the other. Also, some programmers are good in development of new apps, but can't solve problems in existing apps.

A programmer is good, in my opinion, in a specific project if:

  1. he/she follows standards set

  2. does work on-time

  3. produce good quality work

  4. can understand requirements without too much effort

  5. is a team player to the extent that he/she does not make problems

  6. produces documentation as per project requirements

  7. has good command of his area of expertise without reading books, or expermenting all the time to get the job done

  8. can draw a balance between time/effort/value/complexity

  9. provides more answers than questions

  10. focused on the objectives

  11. willing to accept other opinions and willing to learn new tech.

  12. other personal attitudes (positive attitude, helps other, etc.)

share|improve this answer
    
You're confusing "good" and "productive". A productive coder will ship a website on time no matter what (or even two!), but he will never design (not use!) something like C++AMP or TPL. –  Karim Agha Feb 23 '12 at 6:21
    
@kka, you are correct about the fact that I consider good to be productive, I did not think the terms are different before! –  Emmad Kareem Feb 23 '12 at 9:02
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.