Путь в быдлокодеры или как стать программистом с 0?
1) Я упорно отказываюсь называть верстальщиков - программистами.
На 90% это тупая низкооплачиваемая работа, никакого отношения к программированию не имеющая
Исключения есть, но не много.
Для того что бы стать web backend программистом - знания верстки нужны самые минимальные (читай - не нужны вообще, но в процессе все равно появятся), зато нужно например sql которого в вашем списке нет почему то.
2) Если хочется денег и нет отвращения к дресс-коду - можно пойти в java разработчики.
По деньгам выиграете заметно, но это в 99% enterprise со всеми вытекающими.
3) Если хочется денег и свободы - можно пойти в разработчики ios/andoid на выбор.
Самый правильный вариант если с нуля выбирать профессию.
Кадровый голод в сфере дикий, в dc берут с 0ми знаниями на неплохие деньги.
Imho самый правильный вариант для Вас - второй или третий.
Становиться верстальщиком сейчас - явно не самая хорошая идея.UPDPolzuizYami:  Что за enterprise и что за вытекающие? )
Какой порог входа для разработчика под мобилки и через сколько я смогу показать результат и что то за это начать получать ? Почему вы не любите fronted? ) И почему становится fronted'ом не лучшая затея(на верстке я как бы не собирался останавливаться, но это основа основ для fronted'a)?
Enterprise - работа или в крупной компании или в аутсорсере который работает на крупную не IT компанию. Вытекает из этого определенный уровень бюрократии, чинопочитания, формализма, дресскода и прочего, что в какой то мере компенсируется кешем и стабильностью™.
Опять же не всюду, но очень много где.
Порог входа для мобильной разработки сейчас достаточно низкий, 0-1-2 месяца самостоятельной практики и можно идти на вакансию junior, в dc платят 40-50 на старте, за год-два можно выйти на 150-250+ с учетом фриланса.
По поводу фронтенда:
Сразу небольшой дисклеймер:
a) не хочу никого обидеть, пишу исходя из личного опыта. b) это справедливо не для всех проектов.
Итак:
1) В отличии от backend - сложность и объем задач по frontend не зависит от размера аудитории проекта.
2) В отличии от backend - работы по frontend выполняются быстро и в отсутствии требований по изменениям - доработкам не подвергаются.
3) В отличии от backend - текущая работа по frontend сильно менее связана с прошлыми этапами работы, либо погружение в проект требует не много времени (не всегда, но часто)  
4) Следствие из 1, 2, 3: Для запуска развития среднестатистического проекта нужны backend разработчики в команду (штат/длительный аутсорс) и не нужны frontend разработчики в команду (проще и дешевле брать фрилансеров под конкретные задачи)
5) Вывод: Путь верстальщика это в 90% либо короткая дешевая работа на фрилансе, либо работа в штате по поддержке постоянных маркетинговых хотелок (подвиньте банер на 20px в бок, итд), либо в очень редких случаях - действительно сложные, нагруженные с точки зрения frontend проекты.
Почему в редких случаях? Потому что таких проектов очень мало :) (и кстати многие из них - enterprise)UPD-2
По поводу мобильной разработки:
Куда пойдет mobile dev через 5 лет - предсказать сложно.  На мой взгляд основная масса проектов сейчас достаточно простая и для успешной реализации требует монотонной аккуратной работы (70-80% времени это собирание верстки и анимаций, подключения к внешним апи). Адские зарплаты сейчас обусловлены дикой нехваткой людей. Но есть мнение что пик уже прошел.
С другой стороны появляются новые мобильные платформы - и разработчики нужны уже под них) Непрерывный процесс саморазвития как он есть)UPD-3Собственно, почему Веб ,а не мобильная или Java. Ориентировался чисто по вакансиям своего города, к сожалению живу не в DC и да же не в DC2, а наверно DC 666 (Владивосток). Вся прелесть бытия IT специалистом - в нашей широкой востребованности. Не нужно ориентироваться на свой город, да и на DC по большому счету не стоит. Перед тобой вся планета.да и маме сайт сделаюппц мотивация для выбора жизненного пути.
Ну а про потолок верстальщика - я расписал ниже.
Начни изучать Java, по мне так веб изучать к 24 годам это не фонтан. Да и веб програмиисты не программисты вовсе. И к тому же платят меньше, каждый второй умеет делать сайт. А вот реально ООП по пальцам пересчитать. 
К тому как ты станешь программировать на Java все будут платить нерельно много денег за приложения например, к тем же сайтам которые делали веб "программисты" за малые деньги.