1) Как лучше освоить профессию, на фрилансе или в конторе?
Однозначно в конторе, там большой поток задач и вы вот в любом случае научитесь, поймёте как выстроен весь процесс разработки сайта, а этот процесс имеет несколько этапов перед версткой и несколько этапов после верстки, поймете какие требования есть у клиентов.
Фриланс это среда конкурентная, там есть как матерые специалисты, которые давно переросли уровень работы в конторе и сами способны делать сайт на уровне лучших контор, так и новички, студенты, школьники,которые умеют только готовые шаблоны на cms. На фоне матерых спецов вы либо будете сидеть без работы, либо зарабатывать копейки, а после работы в конторе вы уже сможете конкуренцию составить.
2) Что такое CMS?
Cms это не вместо верстки, а следующий этап после верстки, чтобы редактировать сайт могла секретарша клиента без знания html. Верстка, которая сделана на прошлом этапе, затем внедряется программистом в cms.
Сайты без cms мало кому нужны, почти 100 процентов сайтов сделаны на cms.
3) Делать сайт на готовом шаблоне или нужна верстка?
Сайты делают и так, и так.
Есть клиенты, которым подойдет готовый шаблон cms, здесь навыки минимальны, просто научиться устанавливать cms на шаблоне, но за такую работу и платят копейки.
Есть клиенты, которым нужен индивидуальный сайт, в этом случае сначала дизайнер делает макет в фигме, потом макет в фигме верстается, потом верстка внедряется в cms. Это более сложная работа, но за индивидуальный сайт и платят на пару нулей больше.
4) Нужен ли js ?
Нужен обязательно, как азбука, как базовый навык, при чем чистый js не нужен, нужен js фреймворк. Js фреймворк и работу с js ускоряет и внедрение в cms упрощает.
Для разработки сайтов полезнее jquery чем react, он и чаще применяется и для seo лучше.
Даже если делать на шаблонах сайты, все равно попадаются задачи на js.
В верстке попадаются всплывающие окна, слайдеры, анимации, ползунки, не стандартные селекты, радиокнопки, это все делается на js, а ждут, что это будет сделано все от верстальщика именно.