Software people, in my very direct experience, are terrible at hardware... While in jest, I do think most software engineer's understanding of hardware abstractions is pretty poor and does disservice to the hardware they run on.
I know between Moore's Law and Gate's Law which one I would prefer to be the industry standard... https://en.wikipedia.org/wiki/Andy_and_Bill%27s_law
I am deeply aware of software people being crap at hardware having worked in embedded for much of my career.
Generally speaking, I think both are true. Most people seem to have an affinity for either hardware or software, but rarely for both. Those who do are extremely unique. I don't mean that as an insult to anyone, just as an observatin having worked in both (and personally am much better at software than hardware, even though I enjoy both).