1 hour ago, Tarrasque said:
Being new to this field I find it interesting whenever I see the job requirements such as ..
"Strong C++ programming ability" or "Solid knowledge and experience using C++" or "Solid C/C++ programming skills"
How does one really know how to determine their own skill set? More importantly, how does one know what the potential employer means when they use the word "strong"?
I am guessing new to programming in general? I found context of the wider job ad could give a rough idea.
If it is more a junior team role, can maybe get away with not knowing a few things like how to write some advanced macro or template tricks, but they still generally do really want you to already know the main languages the job uses. They don't want to spend time (and thus money) on teaching basic programming for a job almost exclusively about programming. If they give you some existing code and you come back saying "I don't really understand what it does because it has this strange `template` word and what is [&] about and what is T::iterator" that is not particularly helpful.
In my experience, at a fairly early point companies expected me to just know basically everything about the language. Having to look up some specific case to check something is OK, reference resources are important, but you need to know what you are looking for. Especially if you will be working on something without direct oversight. Potential employers then focused almost entirely on more conceptual things, like algorithms, multi threading, network protocols, UI design, etc.
EDIT: This is of course my experience. As some context on that, at the companies I worked for, even for regular "Software Developer" type roles, not senior, lead, or anything like that, they had a lot of failed candidates each hiring round taking at least a couple of months (especially in web roles as it turns out, because people didn't seem to know HTML/JS/CSS themselves only what "Wordpress" or such does), so those companies may have been stricter than average, which comes back to nothing much to lose by applying and talking to these companies, especially if you have lots of free time (e.g. not currently working).