Even if you remain a front end developer, it helps to learn some server side language and concepts. The API's you will build will need to connect with a server with AJAX and such. So you need to understand REST, have a clue about HTTP, vulnerabilities and such. Even if you will not be an expert on the backend, is important to have an understanding of it. It will make you a better front end dev. When you develop an app, you will need a common language with the team that builds the backend API's. At least, you need to be able to catch the obvious mistakes. The easiest is to learn something like PHP. Knowing javascript, you may be tempted to think that node is a better choice, but it helps if you learn PHP because is so much similar with Java, and on the long run, most meaningful books will assume you know some Java. And if you know PHP, you will understand enough Java to understand those books, but without actually learning any Java. You could go for Java directly... but it is a bit more complex. If you are to expand your knowledge, it is better to choose the easiest thing you can learn, but the thing that will give the greatest benefit on the long run. I excluded Python because it is strange compared with all the other languages, tabs are part of syntax and it can make it really hard to adjust coming from Javascript. But Python or Ruby would also be great choices. I would still go for PHP.