So now I'm out on the job market, feeling kinda annoyed that after more than 16 years of formal education I still don't have any marketable skills. Currently trying to teach myself a crash-course in programming so that I can get into software development, since it seems like that's overwhelmingly where the money is for people who can do technical work but don't have an engineering degree. I'm really wishing that I had majored in CS or engineering and then learned physics later as a hobby.
The system was designed with conflicting goals.
If the point was just job training, then for each job the educators provided training for they would project the number of workers needed, pick plausible job candidates, and train that number of them plus 5% or 10%.
But we don't want the elites to just pick their children for elite jobs. So the theory is that we let anybody get educated for anything they want, limited only by their bank accounts or credit limits. You don't lose the chance to get the job just because you can't get the education. (Except of course for people who can't get into med school etc. If professional schools didn't sufficiently limit the number of their graduates, then the profession might suffer income loss and MDs might get no more respect than barbers. But if you can't get into med school you have the consolation that you must have just plain not been good enough. They only take the best, right?) (And it could be argued that an MBA from the University of North Dakota is just plain not as good as one from Harvard. If your training is about how to run a large company, there aren't all that many large companies that need a fresh MBA to run them and maybe the Harvard graduate with all his connections will have a better shot at them. But hey, the tuition is about $50,000/year less at UND.)
So look -- if you can do well as a physics major you must be smart. And you don't have specific job training that tells you how to do a specific job. Maybe you could find a job that nobody is teaching job skills for, a job that needs somebody who's smart. After you get the job you'll have to make it up as you go, but your experience with scientific method will be a plus for that, right?
How do you find a job opening like that? Hey, you're smart. You'll figure out a way.
How do you impress whoever it is that can hire you that you're the right person for the job? Hey, you're smart. You'll figure out a way to do that too.
Should you learn computer programming too? Of course! Particularly scripting languages that help you do things easier when you need to get answers from a computer. And if you learn programming well enough, that can be a backup if the other jobs don't work out. Like, the same physicist who might otherwise have hired you as a cheap research assistant can hire you as a cheap code monkey.
All over the country there are jobs waiting for smart young people who'll take initiative and then take the blame if something goes wrong. You could have one of those jobs if you want it. There's no security but there isn't really much security with anything else either.
The Law of Fives is true. I see it everywhere I look for it.