2.-
I did take a class for the software but that was very base level. The rest was learned by doing. Whether they were fake projects or projects I did in school. Playing around and having fun with it is the best way to learn.
I think the best way to better your skills is in the workplace. That being said I would look for a job where you work with a team of designers. When I was looking for my first job I had to turn down a couple offers/second interviews when I found out the companies were just looking for a single junior designer for their needs. There’s not much learning in that environment and I didn’t feel comfortable with that accountability. I think someone else said this, put your ego aside and be a sponge to what they have to teach you. You can learn something from everybody.
Best of luck to you.