I taught myself to code at the age of 22 and I am not a math genius by any means. I feel like I'm getting pretty good at it (almost 24 now).
The biggest thing to remember is to have a real problem you're trying to solve with programming. Just going through tutorials isn't going to teach you how to program. And then Google until you figure it out. I found it works best to get something functioning, and then go back and read the documentation or book about why it works how it does.
In my case, I started a company and didn't have the money (or desire) to find a developer to work with. So I sat in front of my computer and struggled through it. I had an actual problem that I wanted to solve.