Мое мнение - хорошему фронтендеру нужна такая же база, как и любому другому разработчику.
1. Алгоритмы/структуры данных, опыт программирования, например C++
2. Язык javascript, изучить тонкости и понимать отличия от других платформ.
3. базовые веб-технологии (протоколы, как устроен браузер, веб-сервер и тп)
4. HTML5, CSS3, Javascript в браузере. На этом же шаге можно ознакомиться с историей js-технологий. Посмотреть старые фреймворки, какие задачи они решали.
5. jQuery на уровне понимания устройства
6. CSS-препроцессоры, методологии, шаблонизаторы, CSS-фреймворки Bootstrap и пр.
7. MV* фреймворки и практика реализации SPA
8. Производительность на клиенте, оптимизация всего.
9. Специализированные фреймворки по вашей теме
10. Инструменты vcs, node.js инфраструктура, билд, CI, командная разработка
Сейчас в вакансиях происходит тенденция совмещения интерфейсов и фронтенда, что нельзя считать хорошим признаком. Все-таки стоит отличать чистое написание клиентского js-кода, качество которого играет роль, и верстку/интерфейсы/лейауты, их тестирование, адаптацию под разные платформы и тп