Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Из верстальщика в Ruby и Php разработчики?

Что мы получаем из верстальщика, который становится Ruby и Php разработчиком? Что делает программисты данных языков программирования и сможет ли программист из вёрстки перейти на эти языки?
Программирование+2
Феликс
  ·   · 7,5 K
Образовательная платформа Хекслет  · 5 мая 2022  · ru.hexlet.io
Добрый день, по-хорошему мы получаем классного спеца, почти фуллтек-разработчика. Чтобы понять, кто такой фуллстек, нужно рассказать, что вообще делают разработчики.
Давайте рассмотрим типичный сайт. Это может быть блог, куда можно писать статьи, комментарии. Ютуб, куда можно публиковать и смотреть видео. Программу бухучета, онлайн-магазин и так далее. 
У таких сайтов есть интерфейс, с которым работает пользователь. Можно что-то нажать, зайти по ссылкам, заполнить форму и отправить её. Интерфейс может быть красивым, а может быть стрёмным. Еще интерфейс может быть простым, например в виде обычного текста, нет никакой динамики. Нажали на ссылку - открыли новую страницу. А может быть сложным, например визуальный редактор, плеер (типа яндекс музыки, ютуба) и так далее. Так вот, по сути вся работа, которая делается с интерфейфсом называется фронтенд-разработкой. И чем сложнее интерфейс, тем больше знаний здесь может требоваться. Сложные в плане логики интерфейсы нужно программировать, нужно реагировать на события пользователя. Поэтому появились фронтенд-разработчики. А для того, чтобы собрать этот интерфейс, сделать удобным, красивым, дизайнеры рисуют макет, а верстальщики его собирают, чтобы фронтендеры его оживили. Зачастую роль верстальщика и фронтендера может быть совмещена в виде одного человека, который берет заготовку и делает из неё макет и страницу.
Но ведь одного интерфейса мало. Сайты сохраняют данные. Загруженные сообщения, информацию о товарах, о покупателях, постах, видео, нужно куда-то сохранять. Причем не просто сохранять, но добавлять какую-то логику. Например мы сделали заказ, оплатили, нужно отслеживать состояние заказа, отправлять письмо покупателю, продавцу. Возможно какие-то вычисления, ввод промокода, скидки, купоны и так далее. Современные веб-приложения могут очень много всего делать и решать множество задач. Вот эта вся работа, связанная с работой с базой данных, внутренней логикой, отправка писем, оптимизация и ускорения (чтобы быстро все считалось, не тормозило и так далее) - это бэкенд. Это то, что не видит пользователь, но то, ради чего он пользуется сайтом, веб-приложением. Что-то купить, продать, отправить и так далее.
Разработчики на языках Ruby, PHP занимаются работой с бэкендом. Пишут логику, чтобы сайт работал. Работают с базой данных. Они также могут делать некоторый фронтенд. У большинства сайтов нет потребности создавать сложный фронтенд. Там нет динамики. Например нужно отобразить просто текст, кнопку отправки и форму создания сообщения - окей, делаем. С сервера отдается готовый HTML, который потом переваривается браузером и мы видим красивую страничку. И круто, когда разработчик может сам написать логику и сделать красивую, удобную страничку. Некоторые разработчики не любят или не знают верстку.
Верстка и программирование бэкенда - это разные но связанные задачи одного процесса. Я знаю разработчика, который начинал как верстальщик. Он очень классно верстает, разбирается в теме, а потом постепенно стал изучать Ruby, становясь руководителем команды (Андрей, привет). Аналогично есть и на PHP. Так как PHP часто используется в веб-студиях и вообще очень популярен, то верстальщик может (иногда должен) знать как программировать, чтобы решать задачи.
Иногда можно не углубляться сильно в программирование бекенда, а знать как это делается на базовом уровне. Чтобы например что-то поправить или создать шаблон (верстку) и самому подключить нужную страницу. 
Еще хочу добавить, что Ruby, PHP нынче не используются в чистом виде при создании сайтов. Используются фреймворки - это набор готовых инструментов для типовой задачи. Программисту остается описать ту логику, которая ему требуется для создания приложения. 
в Ruby популярен фреймворк Ruby On Rails. Он очень классный, берешь и разрабатываешь. Sinatra - в нем минимальный функционал, все остальное добавляется поверх по необходимости.
В PHP выбор чуть шире - Laravel, (он похож на Ruby On Rails), Symfony, Slim (похож на Sinatra).
В общем, есть куда развиваться =)
Самое главное забыл сказать - классно когда человек разбирается в разных темах, а не смотрит на ситуацию однобоко. Когда разработчик приходит из одного направления в другое, он как правило сильнее. Может решать больший пулл задач, делать их целиком, а не отдавать кому-то. То есть если вы будете знать верстку + бекенд, то это будет вообще круто =))
Помогаем новичкам освоить профессию веб-разработчикаПерейти на ru.hexlet.io/webinars
Разработчик Rails/React  · 5 июл 2022
Думаю, что это реально, просто требует дополнительного изучения таких тем как "алгоритмы и структуры данных", "объектно ориентированное программирование", "методологии разработки" и других. Закладывайте два года активного... Читать далее