Программирование  •  23 мая  2023  •  5 мин чтения

Чем занимается веб-разработчик и как им стать

Сайт без веб-разработчика — просто красивый макет. Разработчик делает так, чтобы кнопки работали, видео грузилось, а каталог товаров обновлялся. Рассказываем, что нужно знать, чтобы им стать.

Немного об истории веб‑разработки

Веб-разработка началась в 1990-х годах с появления интернета. Позже эти первые 10 лет развития сети назовут эпохой web 1.0. Сначала сайты были простыми HTML-страницами и по функциям напоминали библиотеку — посетители заходили, читали, но никак с ними не взаимодействовали. Публиковать контент было сложно — требовались технические навыки, которые были доступны в основном учёным и программистам.

Сам HTML разработали для нужд CERN — Европейской организации по ядерным исследованиям, чтобы обмениваться научными документами. Но тогда никто из учёных не мог представить, насколько далеко зайдёт эта разработка.

Первый веб-сайт в 1991 году выглядел примерно так. Его разработал британский физик Тим Бёрнерс-Ли. Сайт был посвящен технологии World Wide Web и содержал базовую информацию о проекте: как он устроен и что нужно для работы с веб-сайтами. Источник: CERN

В 1999 году началась новая эпоха — web 2.0. Она отличалась от web 1.0 — тем, что обычные пользователи могли создавать и модерировать контент. Появились первые соцсети — Фейсбук* и MySpace. В России до вконтакте популярной платформой для общения был живой журнал. Аккаунт мог завести любой пользователь с доступом в интернет — чтобы писать самому или читать и комментировать посты других авторов.
Чтобы опубликовать в ЖЖ пост в начале 2000-х, нужно было немного разбираться в HTML-вёрстке. Блогеры периодически выкладывали инструкции: как выделить текст жирным, выровнять по центру, добавить отступы
В эпоху раннего веба сайтами занимался веб-мастер. Он мог немного писать код, делать простой дизайн и кое-что понимал в HTML, базах данных и протоколах передачи данных TCP/IP.

С развитием технологий эта профессия исчезла. Появились другие специалисты — разработчики, IT-архитекторы, UX/UI-дизайнеры, аналитики, менеджеры продуктов. Сайты и веб-приложения стали сложнее и эстетически более привлекательными. За них теперь отвечают отдельные специалисты — web-разработчики.

Кто такой веб‑разработчик

Веб-разработчик создаёт сайты и веб-приложения. Его основная задача — разрабатывать, поддерживать и развивать клиентскую часть web-страниц — то, что видят пользователи, и серверную — ту, которая доступна только разработчикам. Web-разработчики используют различные языки программирования, например JavaScript, PHP, Python и Ruby, для создания, доработки сайтов и баз данных для хранения информации. Они также занимаются настройкой сервера и оптимизацией сайта.

Разработчика сайтов иногда путают с веб-дизайнером. Часто они работают над одним проектом, но задачи у них разные. Рассмотрим их на примере интернет-магазина:

  1. Веб-дизайнер разрабатывает концепцию, собирает макет, подбирает цвета, шрифты, фотографии и другие элементы.
  2. Веб-разработчик с помощью кода делает функциональными элементы, которые разработал дизайнер. Например, программирует анимацию, изменение цвета кнопок при нажатии, формы для заполнения. Подключает сайт к различным сервисам, например к платёжной системе, CRM и системе управления логистикой.
Веб-разработчик программирует внешний вид сайта и настраивает системы, которые обеспечивают его работу

Чем занимается веб-разработчик

Web-разработка делится на два направления: фронтенд и бэкенд. Разница между ними в частях проекта, на которых они работают.

Фронтенд-разработчик занимается клиентской частью сайта — той, которую пользователь видит в браузере. С помощью кода он реализует идею, которую дизайнер заложил в макете. Например, может разработать функцию корзины в интернет-магазине.

Бэкенд-разработчик создает серверную часть сайта и работает с базами данных и функциями для обработки информации на сервере. Может отвечать за авторизацию, обработку платежей, работу с почтовыми уведомлениями. Например, для интернет-магазина может создать административную панель для управления ассортиментом товаров в каталоге.

Фулстек-разработчик (от англ. full stack — «полный набор») силён в обоих направлениях. Он занимается и клиентской, и серверной частью сайта. Участвует во всём цикле веб-разработки и знаком с основными языками, технологиями и фреймворками как для фронтенда, так и для бэкенда.

Сложность быть фулстек-разработчиком — в том, что знания нужно поддерживать и во фронтенд-, и в бэкенд-разработке. Уточке в этом плане повезло

Уровень зарплат и перспективы веб‑разработчиков

Спрос на разработчиков сайтов в ближайшее время будет расти по двум причинам:

1. Число пользователей интернета постоянно увеличивается. По данным исследования Global Digital 2024, в 2023 году число пользователей интернета достигло 5,35 млрд человек — это 66% населения Земли. Всё больше компаний переносят бизнес в онлайн, поэтому нуждаются в разработке сайтов и приложений.

2. Новые технологии — новые проекты для веб-разработчиков. Благодаря искусственному интеллекту, интернету вещей и блокчейну веб-разработчики будут нужны не только для создания привычных сайтов и приложений, но и для разработки более сложных функций или целых продуктов. Например, голосового интерфейса для управления умными лампочками дома: человек даёт команду голосовому ассистенту — чтобы он включил освещение в спальне или поменял его на более тёплое.

HeadHunter по запросу «веб-разработчик» выдаёт больше 1500 результатов. Портал «Хабр Карьера» в первом квартале 2024 года опубликовал исследование о доходах IT-специалистов. Медианная зарплата веб-разработчика в России составила 100 тыс. рублей. Если рассматривать каждое направление отдельно, медианные зарплаты будут другими:
фулстек-разработчик — 191 тыс. рублей;
● бэкенд-разработчик — 200 тыс. рублей;
● фронтенд-разработчик — 170 тыс. рублей.

По данным «Хабр Карьеры», профессия бэкенд-разработчика — одна из самых высокооплачиваемых на рынке IT

Веб-разработчики уровня middle могут зарабатывать до 170 тыс. рублей, а senior — в два раза больше. Источник: hh.ru

Современные технологии веб‑разработки

Людям нужны быстрые, удобные и красивые сайты. По данным Google, пользователь закроет мобильную версию сайта, если она загружается дольше трёх секунд, и продолжит пользоваться сайтом или приложением, если они удобные. Веб-разработчики могут создавать такие сервисы, если будут использовать подходящие языки, фреймворки, библиотеки и технологии. Вот восемь из них:

1. JavaScript — язык программирования, который разработчики используют для создания интерактивных элементов на веб-страницах. Например, галереи фотографий, которые можно листать, выпадающие меню или кнопки, которые меняют внешний вид при наведении курсора. Это единственный язык программирования для фронтенда, поэтому он очень популярный ― для запуска программ в браузере нет альтернативы.

2. HTML / CSS — две связанные технологии, которые используют для определения структуры и стиля веб-страниц. Например, HTML может определить, где на странице разместить текст, картинки и другие элементы, а CSS добавляет визуальные элементы — цвет и шрифты.

3. React, Angular и Vue.jsфреймворки JavaScript, которые разработчики используют для создания пользовательских интерфейсов. Фреймворк – это готовый код для решения типовых задач. Например, задать маршрут для данных от сайта к серверу, обновить их или сохранить, если пользователь переходит в другой раздел сайта или приложения. Пользователь не видит все эти процессы, но разработчик должен их запрограммировать, чтобы приложение работало, как задумано. Если писать код для таких задач на обычном JavaScript, это займёт много времени и можно допустить в нём ошибки. Во фреймворке прописаны правила и ограничения для кода, поэтому он получается более однообразным, предсказуемым и с меньшим количеством ошибок. Так писать приложения получается быстрее — разработчик фокусируется на сути продукта, а не технических деталях.

4. TypeScript — это расширение JavaScript. С ним код более надёжный и читабельный.

5. Node.js — это среда выполнения JavaScript, которая позволяет разработчикам создавать серверные приложения на этом языке. Например, можно разработать сервер электронной почты, чтобы отправлять и получать сообщения. Другой пример бэкенда на Node.js — социальная сеть, где пользователи могут заполнить профиль и запостить фото с подписью.

6. Python — язык программирования, который поддерживает многопоточность и может выполнять одновременно несколько задач. С этой функцией веб-приложение можно усложнять и не бояться, что оно будет зависать. У Python много библиотек и фреймворков, которые помогают быстрее и проще писать код.

7. PostgreSQL — одна из лучших реляционных SQL баз данных. Её используют для хранения, организации и управления большими объёмами структурированных данных. Такую базу может внедрить онлайн-магазин — чтобы хранить данные о клиентах, заказах, товарах и складах.

8. MongoDB — одна из популярных нереляционных No-SQL баз данных, часто используется в стеке с Node.js на бэкенде.

Как стать разработчиком сайтов

В веб-разработку часто приходят специалисты с опытом в IT:

1. Дизайнеры — часто у них есть навыки в HTML и CSS, которые используются для создания интерфейса и макетов веб-сайтов.
2. Контент-менеджеры — работают с CMS-системами, такими как WordPress, и могут базово разбираться в HTML и CSS.
3. Инженеры по качеству ПО — тестируют программное обеспечение на соответствие техническим требованиям. Понимают, как работают веб-приложения.
4. Системные администраторы — у них есть знания в области сетевых протоколов и конфигурации серверов, что может быть полезно при развёртывании веб-сайтов.
5. Маркетологи — разбираются в SEO-оптимизации и как работают механизмы привлечения посетителей и поисковых систем на сайт.

Если опыта в IT нет, то начать стоит с основ веб-программирования. Например, базово освоить Python или Java и основные концепции: переменные, циклы и условия. Затем перейти к основам веб-разработки — изучить HTML, CSS и JavaScript. Это поможет понять, как создавать web-страницы и добавлять на них интерактивность.

Когда база набёрется, можно переходить к первому проекту — простому сайту или веб-приложению. Так получится закрепить знания на практике.

Пример пути развития фронтенд-разработчика
Можно попробовать пройти эти этапы самостоятельно: искать информацию в открытых источниках, составлять программу обучения и практиковаться без наставника. Второй вариант — пройти курс, где дадут базу и научат писать код с нуля.

* сервис предоставляется организацией, признанной экстремистской на территории РФ

Совет эксперта

Алексей Гмитрон
Технологии ― это инструмент для решения проблем и задач. Они постоянно развиваются: одни устаревают, другие появляются. Поэтому не стоит стремиться изучить как можно больше языков, фреймворков и библиотек. Лучше сфокусироваться на проблемах и подходах для решения задач проекта. Разнообразие технологий действительно помогает в этом, но не должно быть целью. Стоит уделять больше внимания фундаментальным вещам: парадигмам программирования (например, ООП, ФП, реактивное программирование), алгоритмам и структурам данных, работе с базами данных, безопасности, тестированию, проектированию систем. Если разобраться в проблеме, ради которой придумали технологию, освоить эту технологию получится быстрее.

Статью подготовили:
Алексей Гмитрон
Яндекс Практикум
Наставник на буткемпе по фронтенд-разработке, разработчик ПО
Яндекс Практикум
Редактор
Полина Овчинникова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться

Успейте начать учебу в Практикуме до конца ноября со скидкой 20%

Fri Nov 15 2024 14:22:41 GMT+0300 (Moscow Standard Time)