Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I recently saw a recruiting page for a software company where one of the require

ID: 652709 • Letter: I

Question

I recently saw a recruiting page for a software company where one of the requirements was "Excellent knowledge of C++."

Now, I know this somehow implies as expert knowledge of C++, but where exactly does expert knowledge fit into. Is it the knowledge and experience of (let's say) eight years of programming in the language, having and knowing the ins and outs of a specific domain. Or, is it a more brush-up, surface approach to one or more domains and a at the same time a more detailed understanding of the whole language?

For example, you cannot be an expert at writing system drivers and game engines at the same time. So, where does this excellent or expert knowledge fit into?

Explanation / Answer

If they say "Excellent knowledge" then you should be able to identify and use all of the language's features correctly- including those from the latest C++11 Standard which are currently universally supported (unfortunately, meaning Visual Studio is the lowest common denominator here). A person with Excellent C++ knowledge can author their own type traits or expression templates; they can build their own containers, algorithms, and allocators. They know when to use inheritance and when to use templates and when to use neither. They know how to use RAII to manage all their cleanup-requiring state.

Also, they can cope with interacting with C style garbage, as that is unfortunately still a part of the language.