На счет php, как подметили, — совсем не обязательно. Логично предположить, что это может быть любой язык, используемый для бэкэнда, — php, ruby, python и т.д. Так же JavaScript может быть использован в качестве языка для бэкэнда в упомянутом node.js.
В любом случае, если имеется ввиду веб, — JS (и jQuery, ввиду распространенности) обязательно, т.к. использование того же AJAX-а — это все же компетенция бэкэнд-разработчика, а он на JS как раз и основан. Знание верстки так же пригодится, — ведь бэкэнд и фронтэнд, — это часть целой системы и внедрять верстку в проект, вероятнее всего, прийдется тоже бэкэндщику )
Так что, думаю, «да» :)