Not knocking on you specifically, but I've seen this kind of overconfidence before in physicists, mechanical engineers, mathematicians etc.: "programming / statistics / data science is so easy, of course I know what I'm doing and will be up to speed right away." Their work is generally not bad, but not particularly great either. I do think the scientific training and rigorous education in these fields helps, but if it's not supplemented with a little humility it makes for poor colleagues.
If we're talking a psych grad who taught themselves the equivalent of a CS degree, then sure. That's usually not the case though. Non CS grads tend to never learn the boring parts.
As someone who worked professionally for almost a decade before getting my CS degree, what I learned during my degree has made a huge difference. There were so many gaps in my knowledge that I didn't know I had.
I've also hired plenty of CS grads, and non CS grads, and in my experience, the CS grads tend to outperform the rest all else being equal.
Are you sure that you're not seeing selection bias here? Non CS majors tend to be career changers (or they've had time to finish and degree and learn CS) and are therefore older on average.
For finance, physics 100%. (The more experimental, the better.) When you're forced to map your theories to reality, and deal with the divergence, you develop an intuition for a certain set of problems. Those problems recur in commercial data science.