Personally, I enjoy electronic/electromechanical hardware repair, taking apart and design, FAR more than anything involving software (apart from ASM for PIC microcontrollers - that's SO easy). If I were to put you off software, that would not be fair. However, there is nothing you can show people... no tangible parts or product. There's nothing more satisfying than hammering, soldering, screwing and tinkering until you get your design right - software has vague analogies to hardware, but it's not as satisfying, and you can't proudly demonstrate the mechanisms to someone who doesn't understand that programming language... it just doesn't convey.
I find software cold, dull and unrewarding. I wish you all the very best, but consider your choices slowly and carefully. The laws of physics never change, whereas software rules change ALL the time. A resistor value of 100 ohms will always be 100 ohms, I know where I stand. A 5mm bolt will always be 5mm.