Share This
Связаться со мной
Крути в низ
Categories
//🌐 Кто такой Web Developer: гайд по профессии

🌐 Кто такой Web Developer: гайд по профессии

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

kto takoj web developer gajd po professii bf5e0d0 - 🌐 Кто такой Web Developer: гайд по профессии

Для построения новостного сайта, браузерной игры или сервиса видеоконференций требуются разные компетенции, однако базовые технологии одни и те же. Данный материал подготовлен при поддержке факультета веб-разработки онлайн-университета GeekBrains, где происходит освоение соответствующих компетенций.

Базовые технологии

kto takoj web developer gajd po professii 4fb8f95 - 🌐 Кто такой Web Developer: гайд по профессии

Веб-разработку разделяют на frontend и backend. Frontend отвечает за работу на стороне клиента, корректное отображение веб-страниц на разных типах устройств. Backend – всё, что происходит на стороне сервера: вычисления, работа с базами данных, взаимодействие с другими сервисами.

Под Web Developer обычно понимают программиста, который умеет работать и на стороне клиента, и на стороне сервера. Универсального программиста, который может сделать проект с нуля, разбирается в базах данных, конфигурировании сервера, безопасности, называют Full Stack Web Developer. Более узких специалистов – Backend Web Developer и Frontend Web Developer.

Базовые технологии Frontend

kto takoj web developer gajd po professii 9c1bb4c - 🌐 Кто такой Web Developer: гайд по профессии

HTML – язык разметки страниц, костяк веб-страницы. С помощью HTML мы подключаем JS-скрипты и CSS-стили и определяем элементы страницы: текст, заголовки, поля ввода информации, переключатели и кнопки.

CSS – язык описания стилей элементов, с помощью которого добиваются качественного отображения страницы.

JavaScript – скриптовый язык, который служит для придания страницам динамики. За счет JavaScript элементы реагируют на действия пользователя. JavaScript также взаимодействует с бэкэндом. При усложнении логики и росте кодовой базы лучше использовать не чистый JavaScript, а фреймворки, о которых мы расскажем позже.

Базовые технологии Backend

kto takoj web developer gajd po professii 92c346e - 🌐 Кто такой Web Developer: гайд по профессии

На стороне сервера может использоваться множество технологий и различных языков программирования. Рассмотрим самые востребованные из них.

PHP. 4500 вакансий по России. Самый популярный язык программирования на стороне сервера: 80% сайтов и сервисов в Интернете написаны на PHP. Язык обладает большим сообществом, огромным количеством готовых библиотек, фреймворков, учебных материалов и руководств. Если вы делаете первые шаги в профессии веб-разработчика, рекомендуем начать с PHP. Язык легок в освоении, используется не только в любительских, но и больших профессиональных проектах: Facebook, VK, Wikipedia, BlaBlaCar. Средняя зарплата – 200 000 руб. (здесь и далее зарплаты указаны до вычета НДФЛ).

Java. 2200 вакансий по России. Популярный язык программирования, но с высоким порогом входа. Применяется в средних и крупных проектах. С помощью Java-фреймворка Spring создаются высокопроизводительные, масштабируемые и безопасные приложения. Средняя зарплата – 250 000 руб.

Python. 1800 вакансий по России. Язык с низким порогом входа. Дружелюбное комьюнити и развитая документация, пошаговые руководства и видеоуроки позволят быстро прояснить любой вопрос. Наиболее зрелая и популярная технология – фреймворк Django. Python применяют в проектах любого размера, на нем частично написаны такие сервисы, как YouTube, Google Search, Instagram и Spotify. Средняя зарплата – 160 000 руб.

Node.js. 1500 вакансий по России. Технология Node.js позволяет строить высоконагруженные, легко масштабируемые решения при помощи языка JavaScript. Если вы уже имеете опыт во фронтенд-разработке, то сможете быстро начать программировать на Node.js. Технологию применяют в проектах, где важна одновременная обработка большого количества запросов. Активно используется компаниями Paypal, Yahoo! и eBay. Средняя зарплата – 205 000 руб.

ASP.NET. 1300 вакансий по России. Если вы уже знаете язык C#, то вам подойдет фреймворк ASP.NET. Свои преимущества фреймворк полностью раскрывает только при работе в инфраструктуре Microsoft. Технологию используют Starbucks и StackOverflow. Средняя зарплата – 160 000 руб.

Язык/технологияЗарплата, тыс. рубКоличество вакансий (на 15.09.20)Популярность на GitHub (среди перечисленных технологий)Популярность на StackOverflow, %
PHP2004500326.2
Java2502200240.2
Python1601808144.1
Node.JS2051456424.5
ASP.NET1601314518.7

Источник статистики по StackOverflow, источник статистики GitHub, статистика по вакансиям взята с hh.ru, статистика по зарплатам предоставлена компанией Hays

Общие технологии продвинутого уровня

Развертывание инфраструктуры

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

  • веб-сервер (например, Nginx или Apache);
  • серверная операционная система: веб-приложения редко работают на Windows или MacOS, отраслевым стандартом является Linux;
  • интерпретатор языка нужной версии – в зависимости от того, какие новые функции языка необходимо использовать или какую версию требует фреймворк;
  • база данных (например, MySQL или PostgreSQL).

Книги по теме:

  • Unix и Linux. Руководство системного администратора, Эви Немет, Гарт Снайдер, Трент Р. Хейн, Бэн Уэйли
  • Unix. Программное окружение, Брайан У. Керниган, Роб Пайк
  • MySQL по максимуму. 3-е издание, Зайцев Пётр, Ткаченко Вадим, и Шварц Бэрон
  • Базы данных. Проектирование, реализация и сопровождение. Теория и практика, Коннолли Томас, Бегг Каролин
  • Администрирование сервера NGINX, Айвалиотис Д.
  • NGINX. Книга рецептов, Дерек де Йонге

Тестирование

kto takoj web developer gajd po professii d2f73d3 - 🌐 Кто такой Web Developer: гайд по профессии

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

Книги по теме:

  • Тестирование Дот Ком, Роман Савин
  • Как тестируют в Google, Арбон Джейсон, Каролло Джефф, Уиттакер Джеймс
  • Искусство тестирования программ, Гленфорд Майерс, Том Баджетт, Кори Сандлер
  • Быстрое тестирование, Роберт Калбертсон, Крис Браун, Гэри Кобб

Наши статьи по теме:

  • 4 причины, которые обязывают нас тестировать приложения
  • Открытые Linux-бенчмарки: для нагрузочного тестирования серверов и веб-приложений
  • Кто такой QA-инженер и как начать свой путь в тестировании?
  • Как найти подход к автоматизации тестирования
  • Протестируй это: принципы и законы создания тестируемого кода
  • Погружаемся в основы и нюансы тестирования Python-кода

Системы контроля версий

kto takoj web developer gajd po professii a517ebe - 🌐 Кто такой Web Developer: гайд по профессии

Сложное веб-приложение невозможно за приемлемое время написать одному человеку: для этого необходима команда специалистов, которые разделяют между собой обязанности и ведут распределенную кодовую базу. Для этого используются системы контроля версий, самой распространенной из которых является Git. Знание GIt гарантированно потребуется при трудоустройстве веб-девелопером.

Наши статьи по теме:

  • Основы Git: контроль версий для самых маленьких
  • Git-мастер: 3 простых шага для достижения цели
  • Лучший курс по Git от Lynda.com. На русском
  • Как использовать Git эффективно: налаживаем работу Git workflow
  • 11 концепций и команд git, которые заставят вас плакать
  • Ветвление Git с примерами из реальной жизни

Пакетные менеджеры

Вокруг каждого языка программирования и фреймворка сформировалась инфраструктура: библиотеки, расширения, пакеты. Зачем писать собственный http-клиент, если существует хорошо отлаженный пакет с нужным функционалом? Так, в PHP используется composer, в Java – Gradle, в JavaScript и Node.Js – npm, в Python – pip.

Продвинутый Frontend

Представим, что вы изучили синтаксис выбранного языка и его основные концепции. Теперь нужно выбрать фреймворк – каркас приложения, который задает архитектурные правила и содержит основные части веб-приложения.

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

ФреймворкКоличество вакансийРепозиториев на GitHubПопулярность StackOverflow, %Уровень сложностиЗависимостей в npm
React4 28073 45835.9⭐⭐48 718
Angular2 36420 14225.1⭐⭐⭐13 579
Vue2 02121 77617.321 575

Источник статистики по StackOverflow, источник статистики GitHub, статистика по вакансиям взята с hh.ru

Продвинутый Backend

Backend-фреймворки менее разнообразны – обычно есть 1-2 лидера, которые занимают существенную часть рынка, а остальные либо узко специализированы, либо технологически отстают от лидеров. Для PHP такими фреймворками являются Symfony и Laravel, для Java – Spring и JSF, для Python – Django, Pyramid и Flask, для Node.JS – Express.JS, Meteor.JS и Koa.JS.

Ниже представлена сравнительная таблица оценки популярности PHP-фреймворков.

ФреймворкУстановок через composerЗависимых проектовПопулярность на GitHubКоличество вакансий
Laravel104 726 6239 54822 0481 085
Symfony52 561 7713 97123 880819
Phalcon29 504210 23247
CodeIgniter773 8576518 07152
Yii10 393 99711 540217890
CakePHP6 027 8701 6498 23410
Slim Framework13 410 0451 32910 72319
Lumen535 795536 90045

Данные по количеству вакансий указаны по данным сервиса hh.ru, остальные данные взяты с сервиса packagist.org.

Продвинутый Web Developer: паттерны проектирования

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

Книги по паттернам:

  • Паттерны объектно-ориентированного проектирования, Гамма Эрих, Хелм Ричард
  • Приемы объектно-ориентированного проектирования. Паттерны проектирования, Гамма, Хелм, Джонсон
  • Паттерны проектирования, Фримен, Фримен, Сьерра
  • Паттерны проектирования на платформе .NET, Сергей Тепляков

Наши публикации о паттернах:

  • Паттерны проектирования: твоя настольная статья
  • Паттерны JavaScript: курс, который упростит разработку
  • Шаблоны проектирования по-человечески: поведенческие паттерны в примерах
  • Паттерны ООП простыми словами: паттерны поведения
  • Паттерны ООП простыми словами: порождающие паттерны
  • Шаблоны проектирования по-человечески: структурные паттерны
  • Шаблоны проектирования по-человечески: 6 порождающих паттернов, которые упростят жизнь

Практическое освоение технологий

Книги, документация и курсы дадут теорию, закрепить которую можно только с помощью практики. Приобрести навыки можно различными способами.

Домашние проекты

Самые простой способ получить реальный опыт – придумать и развить нужный самому себе проект. Отличным началом может стать собственный редактор заметок или список дел. Примеры идей и практическую пользу от их реализации мы рассматривали в статье о проектах выходного дня.

Ресурсы с задачами для программистов

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

  • Задачи для оттачивания скиллов фронтендера
  • Где JavaScript джуну получать тестовые задания для практики?
  • 10 сайтов с задачами, которые сделают из вас профи
  • 27 сайтов с задачками для оттачивания навыков программирования

Присоединяйтесь к проектам на GitHub

kto takoj web developer gajd po professii caafebc - 🌐 Кто такой Web Developer: гайд по профессии

Выберите интересный проект и вносите в него полезные правки, исправляйте ошибки, пишите дополнения к интересующим вас библиотекам или фреймворкам. Это поможет не только развить технические навыки, но и даст понимание практики командной разработки и знакомств в сфере IT. Активный аккаунт на GitHub выгодно выделит вас среди других кандидатов на роль веб-программиста. Вы всегда можете показать, в какие проекты вы отправляли код, и сами примеры кода.

Заключение

Веб-программирование – сложная, но интересная область. Безусловно, можно стать веб-разработчиком и своими силами, но есть и более легкие решения. Например, вы можете пройти курс факультета веб-разработки онлайн-университета GeekBrains. Информация в курсе хорошо структурирована, с вами будет работать личный наставник, а портфолио пополнится 4 актуальными проектами.

Вы узнаете, как профессионально верстать, используя HTML и CSS, научитесь программировать на JavaScript (в том числе используя React). На стороне сервера вы освоите PHP (Laravel) и Node.js (фреймворк Express). Не будут обойдены вниманием базы данных (MySQL) и операционная система Linux. Всё сразу в одном месте. Отличный вариант, чтобы стать настоящим веб-разработчиком за приемлемое время.

Интересно, хочу попробовать!

  • 0 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Свежие комментарии

    Рубрики

    About Author 01.

    Roman Spiridonov
    Roman Spiridonov

    Привет ! Мне 38 лет, я работаю в области информационных технологий более 4 лет. Тут собрано самое интересное.

    Our Instagram 04.

    Categories 05.

    © Speccy 2020 / All rights reserved

    Связаться со мной
    Close