A couple months ago I started learning how to code, and started with the front-end (CSS, JS, etc). However, I've reached a point where I am not sure what I should be spending my time on -- should I try and pick up frameworks like Backbone and Node, or start learning a backend language like Python or Ruby?<p>I guess a better way of framing it is, will employers not hire somebody just because they don't have experience with a specific framework, or will they hire on growth potential (the idea that you can pick it up quickly)?
I think it depends on the job you're looking for.<p>Want a job at a big company? You'll definitely want to be really good at a smaller number of things.<p>Want a job at a startup? You'll need to do everything from marketing to design to every type of programming.
There are front-end only jobs (HTML, CSS, Javascript). I imagine these positions would require programming with Javascript as well as some basic familiarity with Jquery and other front-end frameworks.<p>Some jobs require you to know the full stack - everything from front-end to back-end SQL.<p>And some jobs are for back-end development only - with back-end languages python, java, ruby, or PHP. If you use python or ruby you should learn the associated web frameworks as well (Python+Django and Ruby on Rails being the most notable).<p>It depends on what you want to do.
Do you want to code your own websites or work at a dev agency?
-- You need to learn the full web stack.
Do you want to work for a hip startup?
-- you should probably learn a back-end language and a web framework and build a project website with it. I'd recommend either ruby on rails or python + django.
This is a very funny question to ask actually. Shouldn't you be doing just what you like to do? Is your question more like- 'What will get me a job?' well, both of them. Or, 'What will get me a better pay?' well, both of them. Please don't do something you suck at, simply because someone told you to.
It won't hurt learning a bit of backend as well, especially if you're considering learning a frontend framework like Backbone. It will give you a deeper understanding on how your frontend code interacts with the server. I'd start by learning how the request/response cycle works, how to setup your dev environment and how to create simple API's that feed your frontend with json. If you're into python I'd suggest the excellent Flask framework (<a href="http://flask.pocoo.org/" rel="nofollow">http://flask.pocoo.org/</a>). It's extremely lightweight and the documentation is superb.