Вот эта цепочка
html-css-jade-stylus-emmet-js-git-gulp-bower-ruby/python/php
- что-то в ней не то, человек переходит на бэкенд, а где он научился программировать, не ясно ...
Я за классический подход, если хотите в конечном итоге заниматься программированием, а не подлаживанием интерфейсов.
Человек пишет, что изучает C, чтобы не сидеть без дела. Наверно он не умеет программировать ...
1. учитесь программировать на любом языке (C/C++ ок), устраняете базовые пробелы в математике/CS, если есть,
изучаете алгоритмы/структуры данных. Полгода раз в неделю можно писать контесты
codeforces.com, там кстати Javascript поддерживается, можно прямо на JS писать, можно языки чередовать
Подняв навык кодинга и решения задач, выбираете специализацию, в данном случае JS
2. Изучаете язык Javascript, его особенности, тонкости, и нативный Javascript, в том числе среду исполнения-браузеры, можно по
javascript.ru
3. Изучаете лэйауты и CSS на уровне понимания как оно работает, но не более, разбираетесь в структурировании, модульности, методологии CSS, можно BEM и тп
4. изучаете возможности HTML5, спецификации последние обновления, пишете какое-нибудь HTML5-приложение на native JS
5. где-то в промежутке инструменты разработки, билда
6. jQuery на уровне понимания, как все работает
7. переходите собственно к современным фреймворкам, специализируетесь на чем-то