Technical Expertise:

Languages       C, C++
Frameworks      Qt
Compilers       GCC
Debuggers       GDB, Valgrind
Tools           Qt Creator, Qt Designer, 
OS              Linux (OpenSUSE 11.4)
Version Control SVN

In this example list of the Resume does it make sense to include "Known Concepts" filed too as follows


Concepts:  UML, Design patterns, Unit testing, Makefiles, Socket programming, Data structures

I am asking this because the person may not have actually officially worked on these topics, but he may still know the heads and tails of them!

So, until the interviewer is told about these skills how is he supposed to know?

  • Here in Germany people sometimes even list their hobbies and interests, to give a more "complete" picture about the person.
    – thorsten müller
    Jan 28, 2013 at 9:02
  • 1
    So if I understand, you are asking if you can put stuff you just "know" but don't actually have experience with on a resume?
    – enderland
    Jan 28, 2013 at 13:42
  • yes, it does make sense
    – amphibient
    Jan 28, 2013 at 16:04
  • @enderland I said "officially". Feb 7, 2013 at 12:02

5 Answers 5


Absolutely include concepts here - as Pukku said - being knowledgeable and skilled in a concept can outweigh a specific technology and it is good subject matter for interview questions. Not only that, but it's good hit-word fodder for automatic resume crawlers.

As a thought - for placement and highlighting, there's a lot of rows in the sample resume, filled with very few items - Languages, Frameworks, Compilers, Debuggers, Tools and OS - all of which have 1-2 items. That seems like a lot of resume real estate for not a lot of information. I'd find a way to condense this. Knowing a bit about software, for example, I'd offer the questions:

  • the tools related to the Qt framework, are these the standard for how to develop products with Qt, is there a very very high chance that if you know the Qt framework you are working with these tools? If so, then remove the row about tools.
  • IMO (open to debate) - a "cc" type compiler for C/C++ is par for the course - certainly not everyone has specifically used "gcc", but most have used something similar. If the candidate is an absolute whiz with gcc and can address all sorts of C-to-machine-code issues that are unique to the compiler, then say something like "gcc Expert" - if not, skip it.
  • OS - keep it, but be cautious about being overly specific. If you've used OpenSUSE 11.4, I'd expect you'd be perfectly qualified for 11.5 or even 12, and probably wouldn't have a problem with 9 or 10, either. And I'm going to bet that you'll be OK on almost any flavor of Linux - so telling me OpenSUSE 11.4 makes it feel very specific, and I'm not sure you want that.

Most managers are smart enough to realize things like that - that a person who's worked on gcc won't have a problem with another similar compiler, that a "Linux guy" is pretty good on almost any Linux/Unix product (but will probably complain bitterly about Windows!), and that someone who's worked in Qt probably can handle analogous frameworks and products - but realize that driving down into tight detail here just isn't so valuable.

I'd go with shooting for 3 rows of technology/list of details pairs, unless you are so far along in your career that your massive breadth of technical knowledge is a cornerstone of your skill set. I'd aim for something more like:

Technical Expertise:

Languages & Frameworks:       C, C++, Qt
Development tools:            GCC, GDB, Valgrind, SVN
OS:                           Linux (OpenSUSE)
Concepts::                    UML, Design patterns, Socket programming, Data structures

I killed off Makefiles and Unit Testing. Makefiles because they are a standard part of how you use a C/C++ compiler, so I'd think if you were to claim you knew how to compile in GCC, you'd be claiming you knew how to build or edit makefiles. And Unit Testing because it's a standard part of many software development lifecycles and what I consider the basics for being a software developer - so too basic to be a standout on a resume. Data structures is a bit problematic as well - but I wasn't sure at what level we are talking about. If it's simply knowing the data structures that come up in a programming 101 class (array, list, tree, etc) and the various typical optimal uses for them and how to barebones create them and manipulate data within them, then skip it. If it's a deeper working knowledge of them and perhaps coupling that knowledge with Design Patterns, then include it.

Realize that often there's a story to be told on a resume. If the candidate, for example, didn't just do unit testing, and makefiles but in a personal project found an awesome and fascinating way of using the two together to bootstrap his own automated unit test suite that was initiated on every compilation using a sophisticated set of makefiles -- well, wohoo!, let's talk about it - but what matters here is not the raw skill, but the project - put it in as a personal project in the experience section with a single sentence on the cool part of this work using the relevant key words.

This is where it comes down to wanting to fit as many good things about the candidate as possible onto a page, while making sure you make the resume easy enough for a manager to read. The stuff you call out at the top can't just be a raw list for the sake of completeness, it should give the interviewer enough of a sense of the strengths of the candidate that the two can have a productive conversation.

  • Thanks for the helpful post. You said: then say something like "gcc Expert" - if not, skip it. But, I never said that I am an expert in any of these. I am expecting the interviewer to ask me about my level in each of these topics and then ask questions accordingly. AH! I get it, it is the words "technical expertise" misleading. Will correct that. Jan 29, 2013 at 4:57
  • so I'd think if you were to claim you knew how to compile in GCC, you'd be claiming you knew how to build or edit makefiles. This is not a reality in the place I live. Very few people know the deal about Makefiles. Very few. Jan 29, 2013 at 4:58
  • 1
    Makefiles - OK, I suppose there's tuning to the area... when I did SW development, I was writing makefiles in a Freshman year CS course, so while it wasn't something that everyone did routinely in my first job, it was something I considered basic enough that I wouldn't have included it. If you find it's a discriminator in your area, include it. The point is to avoid spelling out basic competencies and go with items that make you standout. Jan 29, 2013 at 15:32

I would say that yes, it does make sense. Quite often the concepts are more important than the individual languages, frameworks or other tools. Moreover new tools are easy to pick (if you understand the concepts), but new concepts might not be. Also your "technical expertise" as listed in the question tells me nothing about whether or not you understand sockets, for example. On the other hand, I do not really care that much if you have officially worked on something or not, as long as you know what you are talking about and can show that in an interview.

  • Where should it be included then? On the top, or bottom, or in a separate area to get more attention? Jan 28, 2013 at 8:58

I agree that they should be placed, in order to demonstrate on what you were working on, as well as to help people or automated tools that search for someone that knows Unit Testing (for example).

In my opinion the skills should not be too vague (such as "Object Oriented programming", "Java") so that there won't be the impression that they are there in order to inflate the CV with extra buzzwords.

Best place to put them, would be within the description of the job position and the work being done there.


Remember that your resume will probably find its way past a parser at some point. As such, adding a section like this - and making it as complete as possible - is only a help to you! Obviously, if you include a "buzzword" you should be able to back it up in an interview, but including the concept on the resume prevents the parser from denying you that interview in the first place.


Its a great idea to add concepts and i will add these, too in future .

In Germany a resumee should not be longer than one page.

Therefore i have an extra document "skills and experience" where i put platforms, languages, concepts .... Over the time this document has grown to 6 pages.

The person reading the resumee can decide himself if he wants to read this extra document or not.

If i apply for a new customer i remove the stuff from this document, that ist not important and/or outdated (z80/6502 assembler, programming dos2.0)

You must log in to answer this question.

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