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.

I have been frequently asked questions like "Rate yourself in java"

It goes like

interviewer : Rate yourself in java on the scale of 10

me: 9

interviewer : Rate yourself in J2EE

me : 8


But really I just come up with arbitrary numbers. Sure I know Java well , but what does it mean to say "9 out of 10" . I think it is a very subjective question, that does not make sense overall.

The problem is ,if I say 9 , If I am not able to answer any question , the interviewer might think , "this guy just said 9" . On the other hand If I said 6 , there is a good chance the interviewer might think "He rates himself this low...not good"

How do you respond to such questions ?


locked by Yannis Rizos May 5 '13 at 6:16

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not constructive by Chris, Mark Trapp, ChrisF Mar 18 '11 at 17:07

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

I go up to 11! –  SLaks Mar 18 '11 at 13:18
For me, its over 9000, obviously –  Reno Mar 18 '11 at 13:37
Ask if the scale is linear or a log scale. Then just say 9 for everything. –  whatsisname Mar 18 '11 at 13:56
Me: I would not want to work for a company that asks such immature questions. Ok thx bye. –  Job Mar 18 '11 at 15:27
Why was this question closed? –  RoboShop Jun 8 '11 at 0:12

13 Answers 13

up vote 20 down vote accepted

I can't speak for your interviewers, but to impress me, you would not answer only a number. That is, if I say "rate yourself" and you say "9" I have learned nothing. If you say "I've written 7 books on this subject, spoken at national conferences about it for 10 years, and regularly meet with the dev team to tell them what I think, yet there are some things that are not strengths for me, so I'll go with a 9/10" I'm going to be impressed, right? In fact if that same list ends up "so I'll go with a 7/10" I'm actually going to be more impressed. But if I say "I've been doing this for 18 months and most of my programs compile first or second time, plus there are three blogs I read every day so I'l go with a 9/10" well it's a classic "not so much" experience.

Practice a one or two sentence summary of why you deserve a particular number. Then it might not hurt to actually say a number one lower than you think. The summary is what really matters. If what you say qualifies for 11/10 but you describe it as an 8, you're modest and you still intend to grow. If what you say qualifies for 6/10 but you describe it as an 8, you have an overinflated sense of your own importance and no idea what you don't know yet.

"I've written 7 books on this subject, spoken at national conferences about it for 10 years, and regularly meet with the dev team to tell them what I think, and yet here I am, applying for an 60k/year position at your crappy company, rating myself on the scale 0 to 10 like a teenage boy. If I had not killed that old blind man crossing the highway, I would not be desperate to get any job other than a Garbage Collector. I am the one who should be asking you to rate your company on the scale 1 to 10." –  Job Mar 18 '11 at 15:25
How about: "Call my references and ask them?" –  Daniel Mar 18 '11 at 15:38
@Job, you are right in that people at that level (eg me for C++) are generally pretty well known to those who interview them and so wouldn't be asked. But what the heck, if asked, that is how to answer. –  Kate Gregory Mar 19 '11 at 15:57
and yet, if they have to give all that detail, what's the point of the number? Why not just get the detail and skip the stupid number? –  Kyralessa May 14 '11 at 15:52
@Kyralessa - I don't know why people ask for a number. What I do know is, when they ask for a number it's a great opportunity to sell yourself, so do it. Just saying "7" or "9" does not help you, and doesn't meet your goals for the interview. –  Kate Gregory May 14 '11 at 16:23

I say that I'm uncomfortable using a numerical scale where I don't have valid calibration points, and proceed to describe what I consider my honest competency in my technique.

Anyone who wants some unfounded numerical guess rather than a honest assessment is not someone I would want to work for.


When it comes to 'Rate Yourself' questions, I'd use the following heuristics:

  1. If you want the job, you'll need to demonstrate competency in something (or some things), so don't be sheepish about your strengths.
  2. Be prepared to defend high ratings.
  3. Don't be afraid to rate yourself low on things that you genuinely have little familiarity with. Honesty, when paired with competency, is a great mix for a candidate.
  4. If, after the interview process, you aren't selected for the position, use your interview experience as a hint towards which skills you'll need to defend next time. Go forward, buy some books, read some blogs, acquire some skills, rinse and repeat.

As an interviewer I've used this question when a developer lists skills in multiple technologies. Then, deep dive into a limited number of the technologies and use my interpretation of the candidates skills to extrapolate ability with the remaining technologies.


I would never rate myself more than a 7, even in areas where I feel particularly confident. The years have taught me that there is far more that I don't know than what I do.

To me 7 says better than average, but with room to grow.

As has been posted I've met LOTS of programmers who say 8-9 but can't answer simple questions if they lie outside their very narrow range of knowledge. If you say 8 or 9 to me in an interview, believe me I'm going to make you prove it.


This is, at root, an evil bitch question. Like, "What do you want your starting salary to be?"

The thing to remember is that it's utterly subjective. Lot of people are arguing humility, but I have had experiences on both sides of the fence, where I've been humble and people interpreted that as a lack of confidence, and I've been arrogant, and people found that to be off-putting. I've also had situations where the humility opened doors, and the arrogance impressed the interviewers.

It completely depends on who the interviewer is, how they'll take that answer. I think we'd all like to work at places where they understand that very few people are ever above a 7. But there are plenty of places who'll have a lower opinion of you if you give a lower number as an answer.

+1 I think you nailed it. –  Daniel Mar 18 '11 at 17:01

Based on your example, I think ratings would be useful for finding what you're more comfortable working with. Since you'd say you're a 9 with Java, but only an 8 with Java EE that would tell the questioner that you're more familiar with Java than Java EE. And they can look at how proficient you are at one skill relative to another. They may not be looking for your to compare yourself to the skill levels of other people.

They could probably make the question more specific like asking if how you'd rate yourself on particular features of the language. But I think a better way to ask this sort of question is to give you all the things they want you to rate up front, so you can order them relativistically. That would prevent like something "I already gave the last one a 10, and I can't give this one an 11!".


Here's one definition that I've seen, however I would expect the interviewer to be able to tell you what he considers appropriate for his particular scale:

  • If you rate yourself a 10, that means that you wrote and published a book on the subject (and can provide the title, Amazon reference, etc)
  • 7-9 means you are extremely proficient and have deep technical knowledge that you can demonstrate at the drop of a hat
  • 4-6 means your knowledge is perhaps not as strong because you don't use the technology frequently or were proficient in the past
  • 0-3 means you have little knowledge of the technology

Of course, even these values are rather abiguous. The point of the ratings is not really so that the interview can simply take them at face value, but more so that they can know what follow-up questions to ask (i.e. if you rate yourself a "1" then there's little point asking you in-depth questions).

There are plenty of bad books out there. Having a high level of expertise in a particular area doesn't necessarily mean you are going to want to write a book about it (or have any particular talent for book writing). –  Tom Hawtin - tackline Mar 18 '11 at 16:44

We're doing this rating question as an experiment when interviewing. We've found that the given rating, if above 5, is inversely proportional to the subjects skill level - We have not yet hired anyone claiming 8+, but we found some very good people claiming 6-7.

It's also a good idea to say why you rate yourself a 6-7 as opposed to a 9. Say the things that you would like improve on (such as parts of the standard library that you don't use much or using java with other programming languages). Try to make it sound as if you are a 9 or 10 in the areas that you do know, but show that you are aware of your shortcomings in certain specific areas. Later if you don't know an answer, you can say "That's one of the things that I'd like to learn next." –  WuHoUnited Mar 18 '11 at 12:00
Yet another corollary of the Dunning-Kruger effect. en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect –  Peter K. Mar 18 '11 at 14:12
I think this illustrates the postmodern virtue of false humility. If you work hard to be good at something, then perpetually deny you've achieved what you've worked for, what good is that? Granted, an underachiever could claim a high rating too, but that only means this is a poor way to distinguish between the two. –  Daniel Mar 18 '11 at 15:42
@Daniel, Java has reached a point where the sheer SIZE of the runtime (just SE, then think EE and third party libraries) makes it impossible for a single person to master it all. The truly experienced know this, and answer accordingly. The inexperienced will hopefully soon be asked about how to optimize the built-in XSLT compiler, debug SQL queries, and customizing the Nautilus theme... –  user1249 Mar 18 '11 at 16:23

I would ask back for what the interviewer considers 10 out of 10. That helps put him/herself into perspective, then I can give a more precise answer fitting to the context.

I.e. for different interviewers, 10 out of 10 may mean

  • "you know by heart what the signature of main() is, and can list all concrete collection implementation classes in the Java 7 class library", or
  • "you know the language and the class libraries, are up to date on the latest features and understand also the inner workings of the language and the JVM, not just the APIs", or
  • "you invented Java"
you are assuming they would answer your first question without sating that you answer their "simple question" –  Aditya P Mar 18 '11 at 12:23
@AdityaGameProgrammer - their failure to answer the question, tells you they don't know what they're doing. Better to discover that up front, then you don't have to stress out over your answer. –  JeffO Mar 18 '11 at 12:48
"you invented Java" I think there are many better Java programmers than Dr G. –  Tom Hawtin - tackline Mar 18 '11 at 16:38
@Tom, possibly - I have never worked with him, so I don't know. But that point was written tongue in cheek, to illustrate an extreme. –  Péter Török Mar 18 '11 at 20:15
Without knowing where the scale begins and ends, one number is as meaningful as any other. Say Pi... –  Matt Aug 7 '12 at 23:25

I'd go for 7-8 if it's a well-known area, unless I'm really confident in what I'm doing. I try to be humble when it comes to my knowledge level. Howver, the tricky part is to not be too humble, especially in an interview.

Another good idea would be to tell the interviewer what you mean when you say "8" as your rating. That way he can probably align it to what a certain skill level means to her/himself.


I really don't like questioning like that. If they want to know how good I am, give me a test, or hire me on probation for 3 months, then they'll find out and make a more reasonable judgement.

Thats true . But they still ask such questions . –  Vinoth Kumar Mar 18 '11 at 11:07
The question is good to use as a gauge for where to ask further questions. No point asking someone Java questions if they rate themselves a "1" but if you say "9" then you can jump straight to the really technical stuff. –  Dean Harding Mar 18 '11 at 11:51
@Dean I think it's a terrible question. The 30% of the technology your company uses doesn't always intersect well with the 30% of the technology the interview subject uses. Also nobody is going to rate themselves too high for fear of sounding cocky. Nor will they rate themselves too low for fear of the interview ending on the spot. –  Doug T. Mar 18 '11 at 12:42
@Doug: Agree, you end up with a sea of 5's, the real problem here is the pointy haired in-duh-vidual that hears a 9 and immediately hires the guy with no real world experience but who considers himself the best on his Java training course. –  Binary Worrier Mar 18 '11 at 14:09

I tend to be humble and if I feel I master something, I target around 6. You never know.

That said, in some cases, it would be better to just say 9 directly. Depends on the interviewer.

In fact, this kind of question makes the interviewer a bit less credible to me. If he allows me I would prefer to say what colleagues said about my work, instead of giving my own advice.


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