На 100% можно знать синтаксис (и то, там столько подводных камней).
С фронтом проще, но и конкуренция тут большая, уже каждая собака фронтендщик. Пхп сложнее и интеереснее, но он хотя бы дает представление о программировании, ООП и т.п.
Для фронта нужно хорошо верстать(фикс,резина,адаптив). Знать какой-нибудь препроцессор типа LESS/SASS, знать JS на уровне чтения, написания что-нибудь простого, а так же сопуствующие фреймворки, типа JQuery и подключение всяких плагинов. Хорошо освоить bootstrap 3, посмотреть что такое фоундайшен. Хорошо осовить angular 1.4/1.5 или React. Знать что такое json, пользоваться сборщиком типа gulp. Понимать что такое пакетный менеджер npm и уметь пользоваться им. Ну и дальше продолжать обучаться JS, чтобы выйти на более хороший уровень. Nodejs думаю особо трогать не стоит т.к. врядли найдуться люди кому нужен бэкэнд разработчик на позицию джуниора т.к. фронтендщик впринципе далек от написания нормального бэкэнда. Можно конечно разобраться с ним, чтобы было для себя на чем парсеры пописать или что-нибудь в этом роде, но для новичка это не так просто т.к. это не PHP на котором пишет так же каждая собака, а материалов по нему..ну вы сами понимаете.
ангуляр популярен, да, но на самом деле это перегруженная фичами, переусложненная, постоянно переделывающаяся, и при неправильной готовке очень тормозная фигня. Уж точно не для новичков. React в этом отношении просто с другой планеты - изучил три простых сущности (объект, свойства, состояние), и все, можно клепать интерфейсы любой сложности.
learn.javascript.ru строго обязателен в любом случае, особенно раздел про ООП - про это очень любят спрашивать на собеседованиях