Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

tl;dr: What is a less extreme (but still noticeable) alternative to the word "fluent", when saying e.g. "I am fluent in C++/Python/whatever?"

I think I can call myself "fluent" in C#, because I know the language and runtime very well, and I'm very familiar with the .NET framework's APIs and classes, etc.

I would like to claim the same thing for Python and C++. But while I can program in Python (I did so for an entire summer, making a website with Django), for example, I would not call myself fluent because my code isn't always "Pythonic" (e.g. using map/filter vs. list comprehensions), and I'm not too intimate with some aspects of the language and standard library yet (e.g. the introspection API, etc.).

Is there a word or phrase I can use on e.g. a resume to describe what I know?

I can think of "very familiar with", but is there a better word/phrase I can use?

share|improve this question

closed as too broad by gnat, GlenH7, Dan Pichelman, MichaelT, Thomas Owens Dec 31 '14 at 17:31

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

of course most people grade themselves as a 7/10 regardless of their actual competency in a subject, I'd expect most interviewers to know this – jk. Sep 6 '11 at 8:37
@jk.: lol, really? Is this another "45.6% of statistics are made up on the spot", or is there a citation for this? I actually think I'd rate myself 9/10 on some subjects and 3/10 on others... – Mehrdad Sep 6 '11 at 9:15
can't find one for IT but i'd say this is relevant – jk. Sep 6 '11 at 9:46
@jk.: Interesting, thanks... – Mehrdad Sep 6 '11 at 10:03
Conversant means capable but less than fluent. See my answer to At what point can I say I've “learned” a language? for a little more detail, but in short: use the same terms you'd use to describe proficiency in a natural language. – Caleb Dec 18 '12 at 17:21
up vote 30 down vote accepted

Would "proficient" be useful, if not that, "competent". Both words suggesting a comfort with tasks given within a certain range.

share|improve this answer
Oooh yeah they both sound great, I was totally blanking out! Thanks! +1 – Mehrdad Sep 5 '11 at 20:50
Unless you think that "competent" applies in your situation but "proficient" doesn't, I'd recommend "proficient" over "competent". – compman Sep 5 '11 at 23:19
@compman: Yeah I agree, I was also going to use "proficient"; thanks! – Mehrdad Sep 5 '11 at 23:39

If you are referring to a natural spoken language, one step down from fluent would be "conversant", such as "Fluent in French, conversant in Spanish."

For programming languages, I usually write something like: "Very experienced in C and C++, familiar with Python and C#". But I agree with Irwin that "proficient" seems to be one step below "fluent", so maybe it goes: fluent --> proficient --> familiar.

share|improve this answer

These are the terms I usually see in real application forms that allow you to pick it from a list:

  • Competent
  • Skilled
  • Experienced
  • Good
  • Full working capacity/capability
share|improve this answer

I'd say you are comfortable using the language. That does not imply you are an expert.

share|improve this answer

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