К веб-разработчикам относит себя более половины айтишников. Рассказываем, чем они занимаются, где работают и как попасть в эту сферу.
Веб-разработчик — это специалист, который создает сайты и веб-приложения: соцсети, платформы для торговли, программы вроде Google Docs и «Таблиц», мини-игры, системы бронирования билетов и отелей.
Сейчас все это нужно практически каждому человеку, а значит востребованы и веб-разработчики, которые создают такие веб-приложения.
Говоря о веб-разработчиках, чаще всего имеют в виду программистов. Они пишут код, на основе которого работают сайты. И у них есть свои специализации.
Фронтенд-разработчик пишет код для интерфейса сайта — его лицевой части, с которой взаимодействуют пользователи.
Современные сайты — это не просто картинка, текст и несколько кнопок. Во многих из них есть интерактивные элементы, реагирующие на действия посетителя. С их помощью можно оставить личные данные, положить товар в корзину, выбрать на карте пункт доставки и многое другое.
Большинство из них пишет на языке программирования JavaScript.
Лицевая сторона — еще не весь сайт. «Под капотом» у любого веб-приложения — огромные базы данных, которые нужно поддерживать и обновлять.
Например, когда вы заходите на маркетплейс и вводите в строку поиска «елочные игрушки», фронтенд обращается с запросом к серверу. Тот ищет в базе данных все связанные с этим словом товары и отправляет пользователю соответствующие карточки.
Расчет стоимости товаров и логистики тоже происходит на стороне сервера. Код, который за это отвечает, пишет бэкенд-разработчик.
Языков программирования для бэкендера гораздо больше. Самые популярные — Java, PHP, Python, Ruby и платформа Node.js.
Фулстек-разработчики пишут код и для фронтенда, и для бэкенда.
Но даже они не владеют всеми языками программирования. Обычно они выбирают определенный стек в вебе — список технологий, которые сочетаются друг с другом и позволяют самостоятельно написать веб-приложение.
Такой популярной связкой, например, будет сочетание языка программирования JavaScript и платформы Node.js, которая позволяет писать серверные приложения.
В веб-разработке помимо разработчиков работают и другие специалисты:
Веб-разработка — сложный процесс, в котором много места уделяется планированию и подготовке. Написание кода — не единственное, чем занимается веб-разработчик. Вот еще некоторые его задачи.
Сначала разработчики изучают техническое задание. Обычно проджект-менеджер или аналитик собирает пожелания заказчика и переводит их на язык технических требований.
Веб-разработчики на этом этапе разбивают задачи на мелкие части и оценивают время на их реализацию. Они ищут подходящие технические решения и пишут планы.
Для организации процессов в разработке используют специальные планировщики. Чаще всего веб-разработчики выбирают инструмент управления проектами Jira.
После этого веб-дизайнеры создают макеты — визуальную часть сайта.
Дизайнеры отправляют фронтендеру макеты, сделанные в графическом редакторе, и описание функционала веб-приложения. Требования фиксируют в документации, чтобы не возникло разночтений.
А дальше веб-разработчик пишет код для фронтенда, используя:
В результате работы фронтендера появляется рабочий прототип страницы с кликабельными ссылками, анимацией и тем внешним видом, который нарисовал дизайнер.
Бэкендер работает параллельно с фронтендером, также основываясь на документации. Ему нужно иметь представление о функционале и логике веб-приложения.
Например, интернет-магазин должен иметь базу товаров, возможность выбирать их по разным критериям, добавлять в корзину, совершать заказ и отправлять его на доставку.
Разработчик анализирует требования и продумывает архитектуру веб-приложения: какие данные и в каком виде в нем будут храниться, как элементы будут взаимодействовать между собой.
Бэкенд-разработчик организует работу баз данных и сервера. Написав код бэкенда, разработчик соединяет его с фронтендом. Он создает связь между пользовательскими действиями на фронте с работой серверной части.
Фулстек может выполнить всю работу по созданию приложения с нуля, если речь идет о небольших самостоятельных проектах. На крупных он работает в команде с другими сотрудниками: фронтендерами, бэкендерами, DevОps-инженерами, тестировщиками и менеджерами проектов. И делает только свою часть работ, хотя и может подменять многих членов команды.
Его отличие от коллег другой специализации в том, что фулстек-разработчик видит всю картину целиком и способен при необходимости подхватить любой другой участок разработки. И фронтендеры, и бэкендеры могут иногда не успевать писать код вовремя. Фулстеку нужно уметь быстро переключаться между их задачами.
Проджект-менеджеры часто обращаются к фулстекам за помощью, спрашивают про продукт. Фулстеки лучше разбираются в том, как все работает, и могут быстро дать обратную связь и ориентировать в нужном направлении.
Первым делом веб-разработчик выбирает направление: фронтенд, бэкенд или фулстек. А затем — стек технологий, то есть язык программирования и другие инструменты, которые он будет использовать.
Фронтендеру нужно:
Бэкендеру нужно:
Фулстек-разработчик выбирает свой стек технологий, отталкиваясь от задач, которые он хочет решать. И также разработчик ориентируется на тот стек разработки, который принят в каждой новой команде или продукте.
Самое главное для разработчика — определиться с тем, чем он хочет заниматься в программировании: фронтендом или бэкендом. А потом выбрать язык программирования. От выбора языка будет зависеть стек технологий и будущие варианты трудоустройства. Разберем самые популярные языки.
JavaScript — самый популярный язык программирования для создания интерфейса, лицевой части сайтов. Раньше сайты выглядели просто как текст со ссылками, и найти нужную информацию на них было неудобно. JavaScript преобразил внешний вид сайтов: и теперь мы можем нажимать на них кнопки, видеть всплывающие окна, ставить лайки, писать комментарии в специальных формах.
PHP — один из старейших и простых языков программирования для веб-приложений. На нем написано большинство готовых CMS — систем управления содержимым сайта. За счет этого на PHP можно создавать простые веб-приложения без фронтенда. Этот язык программирования хорошо подходит для фрилансеров, создающих несложные сайты.
Python — самый универсальный язык программирование. На нем пишут как бэкенд для сайтов, так и код для машинного обучения или анализа данных. Отличается простотой и лаконичностью.
Java — считается более сложным, чем предыдущие два. Его используют крупные компании для разработки банкинга, финансовых систем и других высоконагруженных приложений с серьезными требованиями к безопасности.
Node.js — это среда исполнения JavaScript на сервере — бэкенде. Этот язык особенно интересен тем, кто хочет стать фулстеком. Так как вся разработка происходит на том же JavaScript, знающий его разработчик получит возможность писать сложные приложения с нуля самостоятельно. Это хороший выбор для тех, кто хочет увеличить вероятность трудоустройства или создавать собственные проекты.
Веб-разработчики востребованы буквально во всех отраслях: сейчас даже у небольших компаний есть сайты, которые нужно создавать и поддерживать. Программисты могут работать как в продуктовых компаниях, у которых есть собственное приложение, так и на стороне подрядчиков, предоставляющих услуги разработки.
По данным «Хабр Карьеры», медианная зарплата бэкендера в России в 2023 году — 200 000 рублей, фронтендера — 180 000 рублей, а фулстек-разработчика — 170 000 рублей.
По языкам программирования в вебе:
Мы советуем начать с азов — почитать книги про основы веб-разработки.
Хотите получить базовые знания и попрактиковаться прямо сейчас — попробуйте профильные бесплатные курсы:
По данным базы резюме HeadHunter за 2022 год, 66% разработчиков не имеют профильного высшего образования. Оно есть только у каждого третьего, что означает, что на работу программистов берут людей с любым бэкграундом. Но главное для работодателей — это хард скиллы у разработчика.
Хард скиллы можно натренировать самостоятельно. Программирование не требует материальной базы. Для обучения нужен только компьютер, а большинство учебников можно найти в свободном доступе.
Но без наставника сложно научиться писать красивый и грамотный код, так как проверять ошибки будет некому. Поэтому многие желающие попасть в разработку выбирают онлайн-курсы.
В них весь учебный материал собран и скомпонован профессионалами, что экономит время студента на самостоятельный поиск и штудирование учебников. К тому же на курсах есть менторы — преподаватели, которые проверяют учебные работы и дают свои рекомендации.
Если вы уже выбрали язык программирования, приходите изучать его основы на подготовительные курсы Хекслета. В программу включено много теоретических и практических заданий, которые выполняются в браузерном тренажере. Вы изучите основные понятия программирования, научитесь мыслить как разработчики, исправлять ошибки в коде, а еще создадите свою первую программу.