What are possible/standard words to describe your skill levels in different programming languages in your CV? I currently use these three:

  • expert
  • advanced
  • beginner

I do not consider myself an expert in any programming language, so I classify all my skills as either beginner or advanced. However, I would like to differentiate more. I am especially looking for something between advanced and expert. Any suggestions? Or should I not even bother to differentiate any more detailed?

  • 2
    Good question! Is very hard to rate yourself as an expert. What is an expert? What is intermediate?
    – Armando
    Jun 20, 2011 at 2:28
  • Sometimes the best questions are closed :-|
    – Ioanna
    Oct 12, 2017 at 8:23

2 Answers 2


I would split them into two groups:

Working knowledge

// Here goes a list of the technologies you have worked with and feel comfortable using. You can make use of them right now if asked (with all the help there is of course).

Basic knowledge

// List of the things you have played with or have a basic understanding of their purpose. You can't make practical use of them without studying them in deep first.

That's pretty much the basic dichotomy your employer would understand and would hardly ask for more. Unless an expert level with some technology is asked for specifically.

  • 2
    But it depends on the job specification- I would not usually show basic knowledge technologies unless they were relevant
    – mmmmmm
    Jun 19, 2011 at 20:25
  • 2
    Definitely so. I was just making a point that more than two levels is not really useful.
    – user8685
    Jun 19, 2011 at 20:32
  • I have more than basic knowledge in a certain field, however, I am no longer working with it. What about using different terms? Active, Passive, Basic?
    – Qwerty
    Jul 27, 2016 at 11:30

I don't explicitly indicate my skills and experience with each technology or tool on my resume. Instead, when I provide descriptions of each job and my duties as well as my personal and academic projects, I also mention the core technologies that I've used in support of that position. Every place that I've applied to either asked for a cover letter or provided an application form, which I used to enumerate specific skills that I had (focusing on those relevant to the job description that I was applying to) and described my level of experience with each one.

There are two problems that I see with listing your skills explicitly.

First, you have to tailor your resume even more for each job that you apply to. In order to save space, you are going to want to focus on the skills that are listed in the job description plus anything else that you feel is relevant. You can't possibly list every skill you have - I know that for me, it would take up way too much space. As you gain experience and knowledge, it'll only become harder to choose what to enumerate.

Second, how do you define "expert", "advanced", and "beginner"? Where do you draw the line? Things that I think a beginner should know might be something that you consider to be advanced. Using such ambiguous words doesn't give me any information about you as a candidate for a position. On top of that, languages (or any skill) cover a lot of areas. I could be an expert Java Swing developer, but have no knowledge of Java networking and limited threading knowledge. Am I a beginner, advanced, or expert at Java? Your work experience will let me know what aspects of the language you have used and for how long.

I honestly don't think it's about the skills that you have, but rather what you are capable of learning and contributing to the project, team, and organization. That's the approach I've taken and it appears to have worked quite well for me - I've obtained two six-month co-ops, three summer internships, a TA position, and a full-time job (pending paperwork) with this approach.

  • 2
    +1 Leaving out "expert" or "advanced". Just don't put down any technology you aren't comfortable with being thrown into the deep end of. Recruiters only look to see if all the right words are there. The technical interview will sort the rest out. Jun 19, 2011 at 19:34
  • Actually, quite a few places I applied to used automated parsing of your resume. This allows them to pick out keywords, like "Java", "Swing", "C++", ".NET" and so on regardless of where they are in your resume. So save the space and make every single word count. Simply listing technologies doesn't tell me anything, but once I identify people who have the knowledge I want, letting me see a story about what you did with that knowledge or technology or tools helps a lot, IMO.
    – Thomas Owens
    Jun 19, 2011 at 19:36
  • Dude, you are 23, and your skill list is too long to enumerate on a resume? Actually never mind, for I too leave out my familiarity with Ms Word and Internet Explorer.
    – Job
    Jun 19, 2011 at 23:43
  • @Job I don't know what's so hard to believe about that. Especially since I've been developing software for 6 years now, and have been employed in the field on-and-off between courses for 5 years, for a total of 2 years of work experience.
    – Thomas Owens
    Jun 19, 2011 at 23:55
  • 2
    @Job, don't discriminate based on age, it makes you old farts look like idiots
    – Shawn
    Sep 10, 2011 at 17:29

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