Don't worry about learning the right tools, just build things and find the tools - programming language(s) - that gets the job done the best for you :)
Also a note, reading source code is a great way to find out how the experts get the job done, so you can always learn from them by perusing github or a GNU project :)
Build until you hit a wall, then figure out why you hit the wall; Did you take a wrong turn? Did you a ladder? Or maybe a Hammer?
Build, build, build. Keep learning. Learn another language. Do things out of your comfort zone. Once you think you know something, try to take another step forward.
Don't be afraid to fail, don't be afraid to ask for help.
Above all else, just keep going. And never listen to people who discourage you because you aren't doing it "right".
P.S: Don't forget that Google is your friend