I think the ideal situation would be having something like Job B for a while until you feel like you're a solidly professional duder, and then move on to something more risky and adventurous. I wasted vast amounts of time trying to teach myself to program as a teenager because I didn't know where to go to. Having some structure and guidance could help you.
My suggestion is pick job B, but keep a hobby project on the side.
The internet makes self learning easier, but then again, mostly all you'd learn from job A you could learn from hobby projects anyway. Face to face interaction with other programmers is harder to substitute.
Fantastic article . . . I think I'm going to be engrossed in the rest of Norvig's site/articles for a long while now.
That article included a link to the video lectures of the Structure and Interpretation of Computer Programs by A&S themselves, given to HP employees back in the 80's:
I think the ideal situation would be having something like Job B for a while until you feel like you're a solidly professional duder, and then move on to something more risky and adventurous. I wasted vast amounts of time trying to teach myself to program as a teenager because I didn't know where to go to. Having some structure and guidance could help you.