I want to preface this by saying I think formal education is great, and required for certain fields. For example, you're not going to become a brain surgeon by watching YouTube. I think it's fairly obvious what can be self-taught vs what you should go to school for. I'm a web developer of which I'm self-taught. Going to school at this point would not only be redundant, but it would be a waste of money.
For being a web developer, you can go to school and get a degree in it which will help you in the long run in terms of giving the company you're interviewing with, confidence in what you can do. However, this isn't for everyone.
I have a diploma from the local college in Law & Security, so I have a background in a formal education. Now, college was great, the structure was pleasing, networking with professor's and classmates, was a definite plus, however, one thing I've learned with being a self-taught web developer is: learning how to learn.
The best way to get started learning something new, is to watch tutorials on getting started in the field you'd like to get into. Youtubing or reading blog posts on getting started in whatever skill you're looking to learn, will help you plan out your path to success. It'll help you figure out the skills you may need to learn along the way.
I started out by Youtubing: how to create a website from scratch. My first entry into creating static websites was using notepad and saving an index.html file to my desktop. Everyone starts somewhere, but it's important to figure out where to start. Watching tutorials (many tutorials) will help you figure that out.
It would also be beneficial to look at websites like SkillShare or Udemy, even PluralSight for courses developed by professionals (if you'd like everything all in one place, otherwise stick to Youtube).
Tutorials are great and you'll be able to create little projects here and there if they're present in the blog you're currently reading, or the video you're currently watching.
However, creating your own project is equally as important, but first you have to dream it up. Dreaming is critical to learning, in my humble opinion. If you're not dreaming, you're likely not being inspired. It's ok to dream, no matter what others try to tell you. Dreaming creates hope, a plan of action, motivation.
Dreaming of your next big app can help kickstart your journey to creating that app. It'll help you with critical thinking and planning out your roadmap to see you from start to finish.
Dreaming however, is hard! Not many people can or know how, or don't let themselves dream. How do I dream? Usually, like everyone, it's in the shower or on the toilet - let's be real. Thoughts will pass through my head around the lines of "How cool would it be if this", or, "How cool would it be if that". Once you latch onto an idea that sparks some interest, run with it. Think about how it might be done, what would it accomplish?
Coming up with these ideas usually revolves around dreaming of solving a problem. That problem may be an issue that only affects you, or it may affect a few people. If you're interested, I wrote a series of blog posts about solving a problem that I had, that also has been solving a problem for others.
While dreaming is great, creating your own personal projects in the beginning, is wildly important.
In the beginning it's important to create personal projects that may never amount to much. The point isn't creating to project, but it's learning the many techniques along the way. Having a goal (creating the project) inspires action toward that goal. This results in learning how to create an index file, adding elements to that page, learning how to style elements, creating links etc. Because there's a goal, there's a clear plan of action, or atleast the ability and environment for such a plan to be created.
Personal projects should be quick throwaways that will help you learn the basics. Now, just do that a bunch of times! But, no, not really... actually yes, do it a lot. Do it until you feel comfortable solving a problem. Who knows, maybe you'll solve a problem later on using a "throwaway" you created before.
While I don't personally contribute to open source software (OSS), there is definitely a benefit to doing so. It'll get you used to working with a team of people, solving issues from simple bugs, to complex problems or refactoring code.
Once you become comfortable with HTML, CSS and JS, try looking through GitHub for good first-issues.
Working on OSS also looks pretty great on a resume.
It'll be different for everyone, but I'm hoping that what I laid out will help you extrapolate and apply certain aspects of the journey I took to becoming a web developer.
Learning an instrument?
Practice 3-4 major chords, get efficient at chord changes to and from, mixing up the order in which you transition. Then practice a popular song that uses those chords and maybe one more that you don't know. That way you can have fun learning something you know, and it'll feel pretty good too.
Want to learn to draw?
Start out learning basic techniques and shapes. Sketching, the fundamentals of drawing. Once again, go to Youtube and watch some tutorials on drawing, then apply those immediately after, and practice them until you're good. Once you get started, you'll begin to figure out how to progress.
The point of being an effective self-learner, is to always learn. Push your boundaries and look for opportunities to stretch your comfort zone. If you stay stagnant and in one realm, you'll remain there. Growth and exploration are the foundation of self-learning.
So figure out what you want to do, figure out how to start, then get going and have fun along the way.