For a self-learner at a casual pace, try starting with something like an Arduino; it'll abstract away a lot of the more complicated ideas at first, and give you a ton of positive feedback along the way. It's a great bridge to hardware for a software guy.
For more formal stuff, see electronics/digital computer fundamentals/etc. courses at your local community college or university, or see if your local Maker community (if there is one where you live) can point you at more targeted local resources.
For more formal stuff, see electronics/digital computer fundamentals/etc. courses at your local community college or university, or see if your local Maker community (if there is one where you live) can point you at more targeted local resources.