Disclaimer: its just a fun exercise. No personal offense to anyone (or Jon, Darin) including developers of this site.

I have been following this site for last few months and so can be considered pretty new guy considering there are lot of people who have been here since 2 years and more.

One day I was having conversation with one of my colleagues that what is best way to judge who is better technical person out here or in other words:- you have a question to ask, who would you want to approach first in anticipation of best and correct answer?

Many solutions to above problem:

i) The one with highest reputation
ii) The one with highest number of answers
iii) The one with highest number of badges

Well, I somehow disagreed to all of above just because there might be many users on this site who can not spend as many hours on this site as Jon Skeet (highest reputation guy) or there might be many users who have joined pretty late so missed the race of acquiring reputation/bounties.

Considering other solutions to judge may be:

iv) the one with highest average reputation score divided by number of answers: so in other words how many on average reputation earned by individual by giving 1 answer, i.e. average reputation per answer (RPA).

for e.g. mine is 454/36=12.6 Jon Skeet: 317711/14695=21.6 Darin Dimitrov: 201681/10004=20.16

v) Reputation score divided by number of months: in other words how much time (in months) on average I spent to earn reputation.

for e.g. mine is 454/7=64 Jon's= 317711/33 =9627

vi) I wish we have data for number of hours spent by individual on this site which would have given more precise judgment:- reputation score divided by number of hours spent by individual.

There may be many other complex solutions involving the number of questions on a particular tag, amount of reputation earned by answering questions for a particular tag etc.

Well what we are trying to do is as follows: This is pretty good Q&A site for sure. We are evaluating to make it Q&A site for our project where developers (or anybody for that matter) can ask questions to leads. There is one guy who has privileges to create a tag so we can create a special tag and use that tag for posting questions in intra-project. We are trying to make it more entertaining and more collaborative. We are considering awards/incentives for high performers so which is the reason why I need your inputs to judge who the best person might be.

Please note we are only evaluating stackoverflow.com as a sample Q&A platform so may choose some other platform/in-house Q&A site.

Please let me know your suggestions.

  • Maybe you should add an algorithm tag and try to do some modeling with MATLAB, that might stop the incoming swarm of downvoters and the inevitable close or migration. :)
    – Ziyao Wei
    Jul 6, 2011 at 5:38
  • 1
    You might want to be careful about creating tags that are only applicable to your project, or even asking questions specific to only your project. The tag will probably get removed and the question closed.
    – Brandon
    Jul 6, 2011 at 5:55
  • the "guru" badge is a good indication, imo Jul 6, 2011 at 6:28
  • 1
    @Brandon, sure we will be extra careful about creating tags...may be we will follow up individual user id.
    – ag112
    Jul 6, 2011 at 6:38
  • While finding a good set of heuristics is a reasonable approach, you should take a step back from the problem and the answer should become obvious: I am the best technical person on the site. Hope this helps!
    – Pollyanna
    Jul 7, 2011 at 4:30
  • @adam : can you please give example of heuristics ..
    – ag112
    Jul 7, 2011 at 4:36
  • This is a lot like the question I asked a few months ago - How to measure the quality of a user's answers?. Sadly, I didn't really get any answers. BTW - average (option iv) is terrible without more complexity, since outliers can have a huge effect, and the "top users" will be users with one very highly-voted post.
    – Nicole
    Jul 7, 2011 at 4:39
  • @Renesis: what is your views on other options..do you think is any solution feasible for my problem?
    – ag112
    Jul 7, 2011 at 6:06

6 Answers 6


Just a note on the reputation per question point...

I have 29683 reputation, from 1146 answers. This gives me an average of 25.9 points per answer. This makes me seem much better than Jon Skeet (21.6, according to your question). It is absolute nonsense to think that I'm more reliable in any sense in comparison to the esteemed Mr Skeet.

Because of the reputation cap, lots of Jon Skeet's answers get no more than 15 points. I hit the rep cap, but not that often and far later in the day than Jon Skeet does. This means I get the full value of my upvotes, whereas he does not.

So use the value as an indication, but don't rely on it too much. I'd urge you to use a combination of all the factors you mention -- and look at the quality (and upvotes) on any particular answer.

  • nice example...so there is reputation cap too
    – ag112
    Jul 6, 2011 at 11:43

Problem is, the number of upvotes is not only related to the quality of the answers. Other elements like answer age (old answers still collect upvotes), views (popular tags get more attention and more chances for upvotes. Besides, even the best person is only the best person on a limited amount of questions. So there isn't an easy metric to find the best answerer.

But there is an excelent way to find the best answerer: Just ask the question.

Review the answers and upvote the good ones, and accept the best one.

Maybe there are people who can give better answers, but if they haven't, they just missed this train.

  • so according to you it has to be manual process..
    – ag112
    Jul 6, 2011 at 11:49
  • @ag112 - well what else could it be? Slightly exaggerated example, but If you ask "Why did Linus Torvalds design the Linux kernel to do x?" and Linus Torvalds himself sees the question & decides to join the site to just to answer that question, he may not have a very high rep score but he's probably the ultimate authority on his own decisions. How could anything other than a manual process allow for that? Perhaps each answer needs to be evaluated on its own merits rather than, or at least as well as, its author. Even the best of us have bad days. Even the dumbest hit the occasional home run.
    – Rob Moir
    Jul 6, 2011 at 22:58
  • Not exaggerated example at all really. I've seen quite a few questions where the OP has asked something about a specific product and the developer or owner of that product signs up explicity to answer their question. A good company that monitors the internet for mentions of its or its product names are usually ontop of sites like stack overflow. Jul 6, 2011 at 23:50

I think all such measures will be limited by a simple restriction:

All the information that Stack Overflow provides will be limited to each persons interaction with Stack Overflow.

So you can only judge the interaction each person has with Stack Overflow and not their knowledge in general.

For example, assume there is developer A who is an avid Java fan and knows a bit about Visual Basic. He gives answers to both and will get upvoted a lot for his Java answers and a bit for his VB answers (which are not of the same quality as the Java answers). For this guy you could probably get a fairly decent picture of his skills by looking at his data.

Now there's developer B. He has 10+ years of experience with Foxpro and is a real wizard in it. Fortunately, Foxpro is in decline and he has started doing Java to earn his income and starts to answer in that tag as well. His answers are of average quality (because he has not yet got so much experience there) and he gets average scores. There are hardly any Foxpro questions (which I'm assumging, if there are replace Foxpro with whatever-tool-was-widely-used-and-has-few-questions-on-SO-now).

Which one is "more skilled"? According to SO, it's clearly developer A. In practice, developer B might be the more skilled one (or they could be viewed as equally skilled).


I reckon it should be their reputation divided by their number of answers. This is because the user might be gaining a lot of reputation through sheer amount of answers. However, it also depends on what the question is. If the person has a lot of reputation, but hardly any upvotes on the particular tag or tags of the question, that would say quite a lot about the user's prowess in that area.

Something like, take the average of the user's upvotes on the tags of the questions, and then add that to the user's reputation divided by no. of answers, then divide that by two, and then you should have an approximation of how much you could depend on the user's answer.

Or there is always the simple alternative of seeing the number of upvotes on the answer...

  • thanks for input. Basically what I am also looking for is time spent consideration by individual. There may be some people on project who are very busy for few days so could hardly spend 15 minutes..but their 15 minutes in more fruitful than a person with lesser technical skills spending 2 hours...
    – ag112
    Jul 6, 2011 at 6:40
  • Answers to easy question are usually more up-voted than the answers to the harder questions because the people who do the up-voting know the answer is correct. So, that would make a ratio reputation/answers no valid measurement.
    – Bart Kiers
    Jul 6, 2011 at 7:15
  • @Bart: agreed on your point.
    – ag112
    Jul 6, 2011 at 7:25
  • 1
    This disregards the reputation cap. If you went for total number of upvotes divided by the number of answers that would be at least slightly more representative...
    – Jon Skeet
    Jul 6, 2011 at 8:50
  • @Jon: Thanks for comment but can you please elaborate how "total number of upvotes divided by the number of answers" would be good option?
    – ag112
    Jul 6, 2011 at 11:48
  • 2
    @ag112: Well, it's better than reputation divided by the number of answers, because the reputation gets capped - if someone has hundreds of good answers, but didn't get reputation from most of them because of the cap, it would artificially deflate your suggested metric.
    – Jon Skeet
    Jul 6, 2011 at 12:06
  • @Jon: but upvotes does not count reputation gain from acceptance of answer and people may or may not choose to upvote an answer...do you think what I am achieving through this site is possible at all...
    – ag112
    Jul 7, 2011 at 4:40
  • @ag112: Fine, (#answer_upvotes*10+#question_upvotes*5-#all_downvotes*2+#accepted_answers*15+#answers_accepted*2+#edits_pre2k*2+#tagedits_pre20k*2-#otheranswers_downvotes*1-#otherquestions_downvotes_pre0rep*1-association_bonus+bounties_won)/(#nonCW_answers+#nonCW_questions) Jul 7, 2011 at 4:53
  • @ag112: That's true. I was mostly just wanting to point out that if you forget the reputation cap, it can make a huge difference. But no, I don't believe you'll ever have an idea of "the best" technical person here, because I don't believe there is such a thing... people are good in different areas.
    – Jon Skeet
    Jul 7, 2011 at 5:22
  • @Jon: as I said this is not to judge "best" technical person from whole community out on this site..i am sure all are pretty excellent people....but just evaluating if we can use this Q&A platform to improve inter-team Q&A communication in our project(please refer to my question for details)..i found this site extremely informative as well as practical..so wanted to extend this idea to my project...your thoughts please..or if u can suggest better alternative?
    – ag112
    Jul 7, 2011 at 6:03
  • @ag112: I don't see how that fits in with your question: "We are considering awards/incentives for high performers so which is the reason why I need your inputs to judge who the best person might be." You are trying to judge who the best person might be. I'm saying that the idea of "best person" is not a meaningful one.
    – Jon Skeet
    Jul 7, 2011 at 6:13
  • @Jon: may be u r correct...so what u r saying is that we can have awards for one who answered max no of questions, or with highest reputation specifically but there is no way at least through this site to judge who was best technical guy(ideally one who gave max accepted answers with maximum no up-votes and minimum number of down-votes)
    – ag112
    Jul 7, 2011 at 7:34
  • 1
    @ag112: I'm saying you're trying to measure something intangible. What about someone who only answers in a niche area? They could answer 100% of questions in that area, perfectly... and still not score as well as someone who is more generally useful by being "not quite as perfect" in a more widely-read area. I don't think you can sensibly say one of those people is "better" than another.
    – Jon Skeet
    Jul 7, 2011 at 7:37
  • @Jon: agreed on your point in bigger picture. However as I had mentioned this is only for my project where all people work on same/similar areas/technologies...
    – ag112
    Jul 7, 2011 at 9:28

I think the best is to use the Q&A system and ask the Community.

The best answer is an answer which is submitted.


Yes, blind metrics based on reputation are the ideal means of determining programmer quality. I will risk some slight immodesty and illustrate this point with what I feel is an extremely compelling example, namely, myself.

  • Most of my activity is in the [haskell] tag, in which I currently have a total score of 1,690. In contrast, this other user, who I guess does some stuff involving Haskell, has a total score of merely 402. This clearly shows that I'm far more qualified on the subject of Haskell.

  • My current rep is 19310 with 243 answers and no questions. This works out to an average of 79.47 rep/answer. In contrast, that Skeet guy has an impressive score of 318128, but over 14718 answers and 23 questions. Ignoring the latter, that's still an average score of only 21.61 rep/answer, clearly showing that I'm much better at answering questions than he is.

These metrics, I think, speak for themselves. If you're surprised that they seem to rate me highly, well, I was a little surprised too, but what can I say? Can't argue with numbers.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .