Johnny,
Um Desenvolvedor Full-Stack é aquele capaz de atuar tanto no Back-End quanto no Front-End, ou seja, ele faz a parte do layout e a parte da lógica.
Agora vai uma opinião minha: Não acho que seja necessário você saber Back e Front, mas quanto mais conhecimento, maior será o seu diferencial... Saber tudo de tudo acho que ninguém consegue, o que muitos fazem é saber tudo de um pouco ou um pouco de tudo. Rs...
O que eu acredito que seja o ideal é conhecer um pouco de tudo e se especializar em uma coisa. No seu caso, você já disse que quer ficar no Front. Conhecer alguma linguagem de Back-End e entender um pouco seu funcionamento pode ser um diferencial...
Atualmente, o JavaScript, uma linguagem inicialmente usada no Front tem se destacado por ser utilizada no lado do servidor com Node.js
. Talvez possa ser um caminho... =)
Se optar por essa trilha, temos a carreira de Desenvolvedor Full-Stack MEAN, que basicamente é usufruir do JS em quatro partes:
- MongoDB: Um banco de dados NoSQL, que armazena as informações em forma de JSON;
- Express: Um framework server-side criado sobre o
Node.js
; - AngularJS: Um framework client-side para Single Page Applications MVC;
- Node.js: Um tipo de servidor feito com JavaScript.
Depois dê uma olhada em cada um dos tópicos e veja qual lhe interessa mais... Às vezes você pode acabar se interessando por deixar o JS no client e aprender uma outra linguagem para o server, como Java. =)
Novamente, espero ter ajudado!
Fábio