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

Навыки и умения для разработки сайтов и сервисов

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

Разработка

Веб-разработчик занимается созданием сайтов и веб-сервисов. Мы поговорили с автором образовательной программы Яндекс.Практикума «Профессия веб-разработчик» Александром Братчиковым о том, что должен знать и уметь такой специалист.

Какие задачи решает веб-разработчик

«Когда говорят “веб-разработчик”, как правило, имеют в виду фронтендера, который разбирается в бэкенде. Да, конечно, большая часть работы — это фронтенд, то есть всё, что видит и с чем взаимодействует пользователь. Но современному веб-разработчику всё чаще приходится разрабатывать весь бэкенд или какие-то его части на Node.js», — говорит Александр Братчиков.

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

alt

«Для поиска более подходящего решения веб-разработчику нужна информация от других членов команды, — говорит Александр Братчиков. — Есть миф о нелюдимости разработчиков. В современном мире и в современных командах это совсем не так. Веб-разработчик тесно взаимодействует с дизайнером, менеджером и другими разработчиками».

Этапы работы и инструменты

Представим себе, что нам нужно запустить онлайн-магазин. Сначала разработчик получает задачу и оценивает сроки ее выполнения. Здесь он может обсуждать решение с техническим директором или с тимлидом. Если сроки всех устраивают, их фиксируют в трекере задач. Например, в Trello, Яндекс.Трекере или YouTrack.

alt

Новый онлайн-сервис — это большая задача. Чтобы выдержать сроки, ее нужно разбить на более мелкие — декомпозировать. Если стоит задача разработать отдельную функциональность для существующего сервиса, то всё начинается с работы с дизайнером. Требуется изучить макет и прояснить все детали решения. Для этого разработчик пользуется графическими редакторами, обычно это Sketch или Figma.

Следующий этап — написание кода. Писать код можно хоть в блокноте, но чаще это делают в специальном текстовом редакторе или в IDE. Самые популярные — VS Code и WebStorm.

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

Что нужно знать и уметь на старте

  • Верстка и программирование. Если вы хотите заниматься веб-разработкой, нужно знать HTML, CSS и JavaScript. Это необходимая база — начните с ее освоения. HTML отвечает за разметку страницы, CSS за стили и внешний вид, а JavaScript — за то, как отреагируют элементы на действия пользователя.  «Лучше изучать языки, работая над реальным проектом. Это позволит освоить сопутствующие инструменты: какой-нибудь графический редактор, редактор кода, инструменты разработчика в браузере», — говорит Александр Братчиков.
  • Браузерные API. Предположим, вы делаете сервис стриминга музыки. Вы хотите, чтобы трек останавливался, когда пользователь снимает Bluetooth-наушники. В JavaScript нет средств работы с Bluetooth, но разные браузеры предоставляют их в виде так называемых API (Application Programming Interface). Это интерфейсы для взаимодействия с чем-либо, в нашем примере с Bluetooth-устройствами. В браузерах есть и другие API: для определения геолокации пользователя или для взаимодействия с веб-камерой.
  • Фреймворки. Они облегчают разработку больших проектов, делают их развитие и поддержку менее затратными. Многие фреймворки (например, React или Vue) позволяют думать об интерфейсе как о наборе отдельных компонентов. Создав компонент однажды, его можно использовать в других местах сайта или даже в других проектах.
  • Взаимодействие с сервером. Нужно понимать, как работает HTTP-протокол и как устроено общение клиента и сервера. Это позволяет получать или отправлять данные и настроить взаимодействие со сторонним веб-сервисом, если это необходимо.
  • Личностные навыки. Веб-разработчику важно много общаться с дизайнерами, менеджерами и другими разработчиками. Еще пригодится умение работать с критикой: спокойно принимать замечания, признавать ошибки и исправлять их. Умение оценить задачу, распланировать время и выдержать сроки тоже важно для этой профессии.

Сколько времени потребуется на обучение, зависит от исходных позиций. Тот, кто сейчас не знает ничего, но готов посвящать занятиям больше десяти часов в неделю, сможет приступить к поиску первых проектов примерно через полгода. Лучше начать оценивать рынок и присматриваться к вакансиям еще в процессе учебы. Это поможет детальнее познакомиться с требованиями работодателей и подтянуть нужные навыки.

Больше по теме

Разработка

Что такое код-ревью и кто им занимается?

Эффективный способ заботиться о качестве кода 

Разработка

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

Исчерпывающий гайд по запуску своего приложения 

Разработка, Яндекс в вузах, Яндекс в школе

Ежедневная олимпиада: как устроены сборы в спортивном программировании

В чём преимущество школ перед самостоятельной работой и чего ждать от участия в сборах

Анализ данных, Разработка

От C++ до теории игр: 10 лекций CS центра

Знакомьтесь с новыми языками программирования, технологиями и областями 

Разработка

Виноград, кот, микрофон, арбуз: как программировать при помощи эмодзи

Рассказываем про эзотерический язык программирования Emojicode

Менеджмент, Разработка

«На своей работе я учусь решать проблемы»

Рассказ сотрудников внутренней службы техподдержки Яндекса Олега Безушко и Николая Чхиквадзе

Анализ данных, Разработка, Дизайн

10 самых популярных видеокурсов от Computer Science Center

Посмотрите лекции по дискретной математике, программированию, анализу данных и на многие другие темы