Ты немного путаешь верстку и программинг. Процесс таков: веб-дизайнер рисует макет будущего сайта, передает свой макет верстальщику, тот верстает его с помощью html и css.сверстанный макет верстальщик передает программисту, программист пишет бэкенд и фронтенд. P.S.Иногда обходятся без верстальщика. верстает либо программист, либо дизайнер. Прочитай про основы ООП, Булеву алгебру, теорию графов и множеств. Системы счисления ( двоичная, восьмеричная, шестнадцатиричная). Поймешь (хотя бы примерно) считай ты уже в будущем программист средней руки.