I feel that hardware engineering is way more of a trade skill if you want to be good. You need to know like thermal design, materials science, shop skills, physical understanding of the process you are controlling, radio behavior, wave theory understanding, mechanical aspects..
Not to mention heading of the industry, like knowing which direction to handle a problem with.. I.e. you can have like 20 different circuits which handle the same problem, all with their own quirks.. Then you need to imagine the device being in the field, infteracting with various things...
I mean your physically putting something somewhere. Plus you need to look at costs and ultimately make the decision of utility vs parts cost.
I think that programming is less stressful to learn, you dont really need to tango with decisions made by a supercorporation making integrated circuits.. Im sure everyone here has wished "why the fuck could they have not just made this spec a little different"...
Systems engineering is always more in the mind of a hardware engineer then a software engineer.