Thanks folks. What made me ask is a few times now I have jumped into a project idea and made a hash of it. When I evaluated why I made a hash of it, it was because the project contained sub circuits I just didn't quite understand, or they did something different to what I was expecting.
Take my first audio amp with an LM741 (the Sorry op amps thread). I completely failed to grasp AC coupling. Once that twigged properly I got it working.
In a few of those replies I was becoming paranoid you guys are watching me. I literally watched Dave's video on using a 555 timer to generate a PWM signal to dim LEDs (for the mantis). I literally got back out of bed and came downstairs with the thought, "Hey that's cool, I can do that!", but... it was a pulse and it had a width, the width kinda changed, but mostly the frequency changed. I gather it would work to dim LEDs (it did dim the test one), but I wanted a better PWM. It's only this morning I wondered what would happen if I use both 'sides' of the same potentiometer and the steering diodes to control a fixed frequency duty cycle. I'll see later if that's a completely flop.
Sometimes it's two steps forward (or ten) and you make a hash and evaluate the reason why it doesn't work is because you missed a few steps along the way and haven't a clue what you are doing. You might have gathered I am not the kind of person to see someone else's circuit and copy it verbatim. I believe if I understood it I can recreated it. If I can't recreate it, then I didn't understand it. So I at least try on my own first and then regroup with a bit of revision back and forth to other people's circuits. If I just copy their scematic I don't feel I have learnt anything, I'm just an assembler.
I also realised I should probably buy a book which drives a progression, like "Learning the art of electronics" and work through that. (Again, thanks Dave for reminding me about that last night).
As to software and digital stuff. I'm almost shying away from it as I'm a software engineer by trade, 15 years in the business. I'm worried I could just do pretty much everything in software and every project revolve around a PI or Arduinno.
Assembler is definitely on my list as I haven't used it in decades and then it was just University stuff. I have done low level C before, spend 3 or 4 years working in capital markets with customers grumbling about a handful of microseconds here or there. Interesting design style I called "borrow a loop", where you never created a new loop unless you absolutely had to, you looked through the code to find someone else looping through the same structure and grafted your code in there. All to keep latency to a minimum.