Начинать лучше не с вёрстки, а именно с азов программирования. Вёрстка сама по себе уже давно никому не нужна, а во фронтэнде она занимает не главную роль. Плюс, хотя бы минимальные знания программирования у тебя есть, потому что скорее всего это преподавали в школе на информатике.
Главное что могу посоветовать - меньше учи фреймворки (читай, готовые решения) и больше учи принципы. Для бизнеса, само собой, важнее сделать побыстрее и подешевле. Для тебя же важнее уметь не воспользоваться, а мочь придумать и сделать что-то новое, чего ещё не было. Не слушай бредни про никому не нужное изобретение велосипеда - это мнение пиарят дефективные манагеры бизнесов, потому что бизнесу это выгодно. Не умея строить велосипед, не построишь мотоцикл. Условный разработчик на условном фреймоворке никогда не ценен как специалист, потому что легко заменяется на другого, а значит и прав качать не будет насчёт зарплаты или условий труда. А вот человек, который придумывает и реализовывает что-то своё - гораздо более ценен как спец и уже может диктовать свои условия в разумных пределах.
Ещё совет - не повторяй моих ошибок, учи математику при малейшей возможности. Без фанатизма и упарывания в топологию, но учи. Она полезнее, чем кажется.