I'd like to remind people that large companies are the only ones capable of hiring junior engineers who might not be at full productivity at day 0. This is especially true of the C++ ecosystem.
Good junior engineers can be productive at day 0. They just can't do the stuff a senior engineer can do. They definitely can contribute though. A well balanced team is a good thing for small or large companies.
When where I work was small, we still hired a fair number of junior people, although I think all (or most) were conversions from interns. One thing we were able to do, that is much harder at large companies is hire smart, technically minded people for customer support, who were able to help with automation, and eventually become full time developers. At a larger company, they would have automated their job, and nobody would have noticed, now they've been able to build skills and experience and should be able to get a developer job when they're done with us (may need to learn interview problems though).
Not true. Counterexample: the last company I was with was 40ish people (total). One of our devs (out of 4) was a junior with I think less than a year of experience when he started. He was smart and worked hard. He was a solid member of the team.
How large is large? Hiring junior engineers or developers definitely happens in companies smaller than FB or GOOG.
Perhaps you mean something specific by "capable"?
I won't disagree that c++ (as a technology) can be a minefield, but this also holds for many technologies and markets (civil aviation being a great example).
I may have missed an implicit /s, for which I apologize in adavance...