

Is it better to specialize or become proficient in backend and frontend? - tommaxwell

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)?
======
gkoberger
I think it depends on the job you're looking for.

Want a job at a big company? You'll definitely want to be really good at a
smaller number of things.

Want a job at a startup? You'll need to do everything from marketing to design
to every type of programming.

~~~
CyberFonic
Whilst you need to be more of a generalist in a startup, you also need greater
depth of experience. Having a small amount of experience in many different
areas is unlikely to get you a job in either area. Better to be good at
something you enjoy and then broaden your skill base into other areas.

Based on your question, if you already have some front-end skills and
JavaScript knowledge, then you might find NodeJS a good place to start with
the backend. At least you don't have to learn a new programming language and
its best practices.

------
intellegacy
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.

Some jobs require you to know the full stack - everything from front-end to
back-end SQL.

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).

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.

------
swapnilt
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.

~~~
CyberFonic
Have to agree! You need to gain some experience in both areas and then chose
based on where you feel more at home.

------
domrdy
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
(<http://flask.pocoo.org/>). It's extremely lightweight and the documentation
is superb.

------
tomlu
Learn both then specialise in the one you like better. Regardless of which you
end up choosing it will make you a more valuable developer.

