I have never seen a license or formal certificate that means anything useful. I'm open to the idea, but the burden is on those providing them to prove they are useful.
We do have apprenticeships in programming, we just don't call it that name. You start out at the bottom of the ladder and more senior people help you learn. Most medium and sized and bigger companies have some variation of that. Sure you can start as the only programmer in a small company and thus not get mentored, but you still learn on the job like an apprentice.
> I have never seen a license or formal certificate that means anything useful.
They are useful in that they at least convey a tiny bare minimum level of skill--something many, many software engineering candidates lack. Passing the bar exam for lawyers and the medical board exam for doctors signals at least some minimal knowledge and qualification. They don't tell you the professional's whole story, but enough to allow you to skip the "Where is the patient's knee?" interview questions.
Software desperately need at least some "barest minimum" gate that lets interviewers at least skip the Fizzbuzz questions.
I'd agree with that. Though obviously getting certified in law or medicine is a significantly higher bar than passing some tech industry certification.
Still, if I need someone who knows Linux, something like a current RHCE tells me they have at least some minimal level of competency. (Certs seem to be more of a thing for sysadmin knowledge than general programming however.)
How can there be apprenticeships when most companies are only looking for senior engineers? They are scared of training junior engineers because they feel that they will leave the company after a few years or even months. This is not always the case.
There's the old joke, the CFO asks the EM, "what happens if I pay for all this training, and the junior engineers just leave afterwards?" The EM replies "OK, but what happens if we don't train them at all, and they stay?"
To the larger point: I'm very much in favor of hiring junior developers, but there's a limit - I find you need at least 2-3 mid+ developers for each junior, ideally at least one senior/staff per if you want to do a good job of mentoring and development at the same time. Since the industry has grown exponentially, it's impossible to hire proportionally to applicants and maintain this ratio.
I am counting down the days until our recent senior hire is fully onboarded and comfortable and we can open a junior position again.
Apprenticeships (called Fachinformatiker) and formal certifications (university, university of applied science, or the Fachinformatikerausbildung) are all important in Germany.
In my (not huge but neither insignificant) sample size, German university completion signals even less than in the US. (Though, I also assume this is at least partially because we lose a large fraction of the top graduates to US jobs.)