Аватарка пользователя Марина Александровна
Марина Александровна

Как освоить бэкенд-разработку в 2022 году: дорожная карта

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

142013

Как стать бэкенд-разработчиком, что изучать в 2022 году и в каком порядке? Мы составили дорожную карту, которая поможет в этом разобраться:

  1. Зона ответственности
  2. Операционные системы и базис
  3. Выбор языка программирования
  4. Базы данных
  5. API
  6. Веб-серверы
  7. Заключение

Зона ответственности

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

Далее мы поговорим о ключевых моментах. Более полная картина представлена в виде дорожной карты по бэкенд-разработке.

Как стать разработчиком с нуля
tproger.ru

Операционные системы и базис

Очень важно научиться работать с терминалом, особенно если речь идёт о Linux.

Бэкенд-разработчик должен знать, как работают ОС, что такое потоки и параллелизм, понимать, концепции построения сети и стандарты POSIX, а также уметь управлять процессами, памятью, вводом и выводом (I/O).

Полезные материалы:

А также видео о том, что такое операционная система и как она работает:

Выбор языка программирования

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

Допустим, если вы уже знаете JavaScript и вообще решили освоить бэкенд после фронтенда, хорошим выбором станет Node.js: и поддерживать будет проще, и можно поиграться в фулстек. Знаете Python? Что ж, Django также предоставляет много готовых решений для серверной части. За Java стоит браться, если перед вами сложный долгоиграющий проект, а если же веб-приложение небольшое, писать для него бэкенд на Java — всё равно что шар-бабой гвозди забивать. Неизменной классикой по-прежнему остаётся PHP, ведь на этом языке действительно разработано подавляющее большинство современных сайтов.

Основы PHP: изучение серверного языка в 2023 году
tproger.ru

И это далеко не все. Подробнее можете почитать в нашей статье о 8 основных языках для бэкенда.

Базы данных

Базы данных станут вашим главным ресурсом, а СУБД — новым домом. Следует понять разницу между реляционными и NoSQL СУБД, освоить нормализацию, транзакции, ORM, ACID, проблему N+1 и теорему CAP.

Материалы по работе с базами данных:

Также есть хорошее видео, которое наглядно объясняет нормализацию в БД:

API

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

Посмотрите наши рекомендации по использованию API популярных веб-сервисов и не только.

Веб-серверы

Стоит научиться устанавливать и настраивать популярные веб-серверы, такие как Nginx, Apache, Caddy и MS IIS. Все они достаточно безопасны и просты в использовании.

А ещё можете почитать о том, как самостоятельно настроить сервер для сайта, используя DigitalOcean хостинг и операционную систему Ubuntu 20.04 LTS.

Заключение

Так как стать бэкенд-разработчиком в 2022 году? Стоит разобраться в принципах работы операционных систем, основных командах терминала, выбрать предпочтительный язык программирования, освоить работу с базами данных, API и научиться работать с  веб-серверами. А чтобы быть в курсе актуальных проблем веба, загляните в интересные факты из веб-альманаха 2021.

Следите за новыми постами по любимым темам

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

Для начинающих
Веб-разработка
Бэкенд
Планы обучения
142013
Что думаете?
9 комментариев
Сначала интересные
Аватар пользователя Metalamp Программист
Дорожная карта - полезная штука для начинающих, т.к. все сталкиваются с обилием информации, в которой сложно сходу понять с чего начать и чем закончить. Что должно входить в твои компетенции, а что уже является компетенциями других специалистов? Работая уже не первый год в IT, разбираясь во всем большую часть самостоятельно, сейчас я уверен в том, что начинать самостоятельное обучение стоит. Однако, чтобы оно не растянулось на годы, лучше подобрать достойные курсы и продолжать обучение уже там. Структурированная информация быстрее и лучше усвоится, чем самостоятельно бороздить просторы интернета и выхватывать знания кусками
Аватар пользователя Sezam Sezamovich
Metalamp Программист, а что бы вы порекомендовали конкретнее? Курсы конкретных лиц, либо личного ментора? 
Аватар пользователя Илья Шевцов
В дорожную карту можно добавить:  - API: gRPC, JSON-RPC, GraphQL. - cloud сервисы: от storage сервисов до compute (app engine, compute engine, container engine, serverless (cloud functions)). - performance optimization, monitoring, troubleshooting. - Архитектурные стили и паттерны  (монолит, микросервисы, event driven итп) - design patterns (в программировании) - Скэйлинг тактики (XYZ Cube). Кластер вертикальный/ горизонтальный. Шардирование итп. Kubernetes... - CD/CI да и вообще про SDLC фазы и активности.  - Алгоритмы, структуры данных, временная сложность алгоритма O(n)... - в Безопасность: авторизация, аутентификация, security тактики. Где каждую область можно также отдельно раскрыть (oAUTH, JWT, BASIC, MFA..)
Аватар
Думаю стоит добавить ещё этот список https://github.com/bzick/oh-my-backend#oh-my-backend
Показать все комментарии