1. I learned in school mostly (high school + studied computer science in college), but after that I learned by trying to build stuff and using free online materials (google is a programmers best friend!)
  2. I don't mind too much what others do! I think it can be worth it be run unprofitably for a little as a way to gain experience. And if a node is unprofitable it just means they're giving profits to other nodes (or miners!)