For the better part of the last 2 years I've been freelancing part-time as a Wordpress developer, focused mainly on building custom themes and modifying existing plugins. Naturally, this meant PHP was the thing to learn, since I was already familiar with HTML/CSS, and 99% of the time, a bit of jQuery on the side was just enough to get the job done. However, after taking a break for a couple of months in order to focus solely on school, I've realised something pretty scary: I actually suck at programming.
What I mean by this, is not that I can't code ( I've pretty much learned programming by myself and am passionate about it ), but the fact that this entire time I've been half-assing it, and now I find myself in a place where I'm not really good at anything. I mean, I know a little bit of C that I picked up in school ( although no OOP ), enough PHP in order to be able to write simple functions that hook into Wordpress, a little bit of Ruby I picked up while building a Rails app, and although I am pretty good with HTML/CSS I'm definitely not up to date with the latest technologies.
So now, after graduating high school and making the decision to get into full-time freelancing, I'm faced with the following dilemma: What would be the the best thing to learn next? I am interested in web development ( although it's not excluded I'm going to learn iOS dev. too sometime in the future ), and after a lot of research I still have no idea what's the right way to go. Foe example, I know I could get serious about learning Rails ( or Django, for that matter ), but then from what I've been reading more recently, javascript ( and javascript-based MVC frameworks ) are the next big thing, and that's what I should focus on.
I know this is a pretty subjective matter, but I'm hoping there are some general guidelines which will help me make the best decision. Thank you!