How can I say more than just "C++" on my resume, reports or other writings, to convey clearly what kind of C++ programming I've been doing?

Are there well-defined styles of C++? ("Styles" might not be quite the right word.) Examples: using C++ as an "improved C" taking advantage of stronger typechecking, syntactic niceties, but little or lightweight use of classes; using heavy OO techniques where almost everything is made into a class (and there could be different styles of that) - but staying away from templates and advanced techniques; and heavy use of metaprogramming and every cutting edge advanced C++ feature. I've seen code where there's such heavy use of computer science terminology and advanced features only a CS PhD would be able to understand it, and code so clean and straightforward that EEs and physicists with modest programming skills can understand it.

This isn't about literally coding styles - fussy details about brackets, indentation, commenting and all that - but one's philosophy of what good code is, the approach to organizing it all, and degree of fanaticism or reluctance to use various major techniques, procedural vs OO vs functional and so forth.

Can such variations be categorized in a meaningful way? How to name these for someone not expert at software development, with an amount of knowledge to be expected of a good executive or recruiter (never mind the PHBs)?

Ideally, there'd be a way anyone can say on their resume "C++ in blah-blah style" or "mumbleific C++" and land jobs or freelance projects in that category/style of C++. An improved-C++ coder could avoid projects full of heavy template-bloated code.

(To some extent this question may be more general than C++, but C++ being around for years and being multi-paradigm, leads to the most confusion.)

  • 1
    I suspect that, if an employer is actually interested in this, they will ask you over the phone or in an interview. In a world where resumes are expected to be two pages or less, I don't imagine that there is an expectation that you could convey something like this in your resume, although I suppose you could try to use it as a way to differentiate yourself. More buzz-wordy things like continuous integration, test-driven development, etc., might make more impact. Dec 13 '10 at 16:26

I'd say that the domain might be more important than the coding style. The style is largely subject to convention in the target company anyway (by convention, I mean the lead architects perception of best practice ;)).

So something like "C++ back-end development in a distributed high volume accounting system for a large bank" would already convey a lot of information. You can also include specific libraries, like Qt. But I don't know if something like "strictly object oriented" or the like is actually helpful.

And don't forget the most important rule in software development: Don't be a fanatic, narrowminded twat when it comes to a certain technology/approach. I mean, as a profession, we have been fighting for years now, not to be reduced to the usual alphabet soup recruiters always use. Why limit yourself even more?

  • +1 for the third paragraph. Dec 13 '10 at 16:48

The purpose of a resume is to get you an interview. That means it has to have all the right buzzwords to get you past the HR, and just enough substance to get the technical manager interested in talking to you. The technical interview is where you should discuss your coding style and design philosophy.

  • 1
    +1! HR usually don't know anything about the technic (and that is not their job, after all) and they are therefore looking for specific words / mentions. Dec 13 '10 at 20:16

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