I have this problem as a student where I know I'm not an expert in any language yet but I want to show I'm competent with some. I tried this categorization but I'm not sure it's the best approach to this:

  • Comfortable: Languages I have consistently written projects in or worked with in previous internships (in my case, Java/Python);
  • Familiar: Languages I have explored in one or two complete projects or, say, a functional programming course in college (in my case, OCaml);
  • Also used: Other technologies I have also touched but in a superficial manner (for a quick Hackathon project, for example);

Is this a stupid idea? This is a specific question on how to group languages by proficiency level.

  • 2
    Where you have "comfortable" and "familiar" I used "proficient" and "knowledgeable" as fitting words to describe how well I could get along in different languages. Also, I don't think even Bjarne Stroustrup would call himself an expert. Feb 1, 2016 at 18:51
  • 1
    I have used "proficient" and "exposure to" to differentiate between languages and other tools that I know well and those that I have used and could learn quickly.
    – David K
    Feb 1, 2016 at 19:12
  • "Also Used" isn't too bad if you don't have very many in the other two and/or you want to show you're not locked-in or averse to other languages. Otherwise, I'd limit it to what the job description wants and limit the amount of time people have to read your cv to get what they want.
    – user8365
    Feb 1, 2016 at 20:19
  • 1
    Whenever I see "also used" or "knowledge of" languages on a CV, I dismiss them as no experience. Focus on the core languages that you know and tailor it to the job you are applying to. If you have light OCaml but the job description doesn't say anything about it, then just leave it off.
    – Ron Beyer
    Feb 1, 2016 at 20:53
  • 1
    I do not think this is a good idea. Those are loaded words and you cannot predict how they will be interpreted. For example, I've seen people being comfortable once they mange to write a syntactically correct code.
    – PM 77-1
    Feb 2, 2016 at 1:55

2 Answers 2


Why not ditch the categories and focus on what you actually did:

I have completed substantial projects in Java (asset trading) and Python (configuration management) in my most recent employment. I have used OCaml for an assessed college project. I also enjoy using Fortran, CJam, and a robotised card index to help my stamp collecting hobby.


You don't want to categorize your skill level because it is usually self-assessed.

People doing interviews have ran into self-declared proficient people that are completely useless. You might as well save yourself some trouble by specifying what you did.

I'll post a snippet from my own resume regarding "Windows 7" proficiency.

Migration Technician, Windows 7

CyberCSI (3 month contract, 2011)

  • Collaborated within a four person team that completed migration two weeks ahead of schedule.
  • Achieved 100% on-time deployment service level and 100% migration success with no data loss.

This entry about "Windows 7" has way more detail than something like this:

OS: Windows 7

The first entry gives you something to talk about. The second is effectively useless.

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