I am applying for a few researcher positions that don't specifically require programming skills (i.e., they don't have programming skills listed in the job postings), but based on the job descriptions, having some will definitely help given the nature of the job responsibilities.

I am not a programmer, so I definitely don't want to embellish or exaggerate my level of proficiency in my resume. But I have written scripts in Python and C++ for data cleaning and processing before data analysis in my PhD research. The datasets I've had to deal with are considered big in my field, but, unfortunately, not considered big in other fields (a couple of gigabytes). And for my research, I have also used C++ to code a bunch of iterative statistical procedures that were originally coded in a different language for speed improvement. So in a sense, I am comfortable with using both languages to tackle specific tasks.

So my question is, how should I describe my level of knowledge in my case. Is "familiarity" or "working knowledge" an accurate description? Thanks!

  • @gnat: I've seen that question before I posted mine. I thought mine was a bit different in the sense that I asked how to describe skills that I use to accomplish specific tasks but are not an expert in.
    – saccades
    Mar 3, 2015 at 16:29
  • meta.stackexchange.com/a/194495/165773
    – gnat
    Mar 3, 2015 at 16:36

1 Answer 1


[H]ow should I describe my level of knowledge in my case. Is "familiarity" or "working knowledge" an accurate description? Thanks!

As with all skills in CVs, the best way is to focus on achievements rather than skills. For example, talk about the projects you worked on in Python and C++, approximate SLOC or project duration, team size, the data you processed and libraries you used. Any subjective scale, e.g. "good" or "working knowledge", is ultimately meaningless. Meanwhile, developing software is more than just knowing a language. It is about managing requirements, fixing bugs and ultimately delivering a useful product.

If you are applying for a technical position, you also may want to include a "keyword dump" section at the end of your CV. Many recruiters search for specific libraries or tools using simple keyword searches. For example, recruiters may not understand that an experienced C++ developer may know STL backwards but omit it from the CV or a senior C# developer may be a LINQ guru but think it is not worth mentioning.

Lastly, only include technical details of areas you want to move into. For example, if you hate a particular python library, do not include it in your CV. If you want to move into web development, hypothetically, do not be afraid to mention the few GitHub repositories you have containing small libraries or neat websites that you have worked on in your spare time.

  • Thanks, Akton. My biggest concern about listing programming languages is that I've read that some interviewers will make a point to ask interviewees programming related questions if they have them listed as a way to test whether they are honest. But since I am not a programmer, I don't want to get very tough questions! :)
    – saccades
    Mar 3, 2015 at 16:27
  • 1
    @saccades Even the most experienced developers have gaps in their understanding and interviewers can always ask questions people cannot answer. If you focus on things you want to do (see the third paragraph) and stress it was a means to an end (supporting research) instead of an end in itself (a software development job), you will probably be OK. If the interviewer nails you on technical minutiae, it sounds like a job you probably do not want, anyway.
    – akton
    Mar 4, 2015 at 1:10

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