Верстка -> Frontend -> Full Stack developer — какой оптимальный путь развития?
что бы быть full stack вы должны понимать что происходит на каждом уровне вашего приложения. от кнопочек которые вы верстаете, до того как обрабатываются запросы на сервере, в плодь до взаимодействия с базой данных через все прослойки.
Вне зависимости от выбранного языка или фреймворка, принципы остаются примерно те же. С Symfony мы можем говорить о гексагональной архитектуре, луковой архитектуре, data mapper и т.д. С nodejs мы тоже можем обо всем этом говорить но там не особо развиты идеи data mapper (на данный момент). Приходится жить с active record или dbal. Ну и опять же управление зависимостями в js и в php по разному организованы, хотя суть (dependency inversion) остается той же.
Единственный совет дам - не распыляйтесь. Старайтесь не переключаться между фронтэндом и бэкэндом слишком часто, это уменьшит скорость обучения. Большая часть знаний в принципе спокойно мигрирует из одной сферы в другую, так что не переживайте.
Вам нужен ментор, можете мне написать.
Хочу развиваться в торону бекенда, но хочу Backbone/Angular/React ? Тут надо, конечно, определиться, и насчет ваших представлений о том, чем занимается fullstack. 
P.S. Спрос на фуллстек резко возрастает, когда кризис, и надо очень жестко экономить на зарплатах)