Подпишитесь на интересующие вас теги, чтобы следить за новыми постами и быть в курсе событий.
Как освоить бэкенд-разработку в 2022 году: дорожная карта
Чтобы понять, как стать бэкенд-программистом в 2022 году, обратитесь к дорожной карте, которая подкреплена материалами для изучения.
142013
Как стать бэкенд-разработчиком, что изучать в 2022 году и в каком порядке? Мы составили дорожную карту, которая поможет в этом разобраться:
- Зона ответственности
- Операционные системы и базис
- Выбор языка программирования
- Базы данных
- API
- Веб-серверы
- Заключение
Зона ответственности
Бэкенд-разработчик отвечает за корректность работы и оптимизацию серверной логики. Грубо говоря, аутентификация, раздача прав доступа, обработка действий пользователя, работа с данными, интеграция с другими приложениями, скорость обработки запросов — всё это ложится на плечи сервера. Разумеется, фронтенд тоже не стоит на месте, и ряд функций может быть вынесен на сторону клиента. Но в этом случае следует отдавать себе отчёт в том, насколько это секьюрно для веб-приложения и его пользователей, а также не замедлит ли это сайт.
Далее мы поговорим о ключевых моментах. Более полная картина представлена в виде дорожной карты по бэкенд-разработке.
Операционные системы и базис
Очень важно научиться работать с терминалом, особенно если речь идёт о Linux.
Бэкенд-разработчик должен знать, как работают ОС, что такое потоки и параллелизм, понимать, концепции построения сети и стандарты POSIX, а также уметь управлять процессами, памятью, вводом и выводом (I/O).
Полезные материалы:
- Работаем в терминале Linux как профи: подборка полезных команд
- Список основных команд консоли для админа Windows
- Что такое POSIX?
- Подборка книг по компьютерным сетям
А также видео о том, что такое операционная система и как она работает:
Выбор языка программирования
Существует много споров, в которых приверженцы того или иного языка программирования доказывают его превосходство над другими в бэкенд-разработке. Но не стоит забывать, что язык — лишь инструмент, и какой выбрать — зависит от поставленной цели и уже имеющихся знаний.
Допустим, если вы уже знаете JavaScript и вообще решили освоить бэкенд после фронтенда, хорошим выбором станет Node.js: и поддерживать будет проще, и можно поиграться в фулстек. Знаете Python? Что ж, Django также предоставляет много готовых решений для серверной части. За Java стоит браться, если перед вами сложный долгоиграющий проект, а если же веб-приложение небольшое, писать для него бэкенд на Java — всё равно что шар-бабой гвозди забивать. Неизменной классикой по-прежнему остаётся PHP, ведь на этом языке действительно разработано подавляющее большинство современных сайтов.
И это далеко не все. Подробнее можете почитать в нашей статье о 8 основных языках для бэкенда.
Базы данных
Базы данных станут вашим главным ресурсом, а СУБД — новым домом. Следует понять разницу между реляционными и NoSQL СУБД, освоить нормализацию, транзакции, ORM, ACID, проблему N+1 и теорему CAP.
Материалы по работе с базами данных:
- SQL и NoSQL: разбираемся в основных моделях баз данных
- Как спроектировать базу данных, чтобы в будущем не пришлось её переписывать
- 27 распространённых вопросов по SQL с собеседований и ответы на них
Также есть хорошее видео, которое наглядно объясняет нормализацию в БД:
API
Вам предстоит познакомиться с API как средством интеграции приложений, чтобы выполнять подключение сторонних сервисов, импорт данных, использование готовых решений для своего веб-ресурса. Зачастую сервисы, которые предоставляют доступ к своему API, описывают процесс подключения в документации. Иногда она максимально доступна, а иногда некоторые моменты приходится додумывать самостоятельно, поэтому важно не просто знать, но и понимать, как устроен API.
Посмотрите наши рекомендации по использованию API популярных веб-сервисов и не только.
Веб-серверы
Стоит научиться устанавливать и настраивать популярные веб-серверы, такие как Nginx, Apache, Caddy и MS IIS. Все они достаточно безопасны и просты в использовании.
А ещё можете почитать о том, как самостоятельно настроить сервер для сайта, используя DigitalOcean хостинг и операционную систему Ubuntu 20.04 LTS.
Заключение
Так как стать бэкенд-разработчиком в 2022 году? Стоит разобраться в принципах работы операционных систем, основных командах терминала, выбрать предпочтительный язык программирования, освоить работу с базами данных, API и научиться работать с веб-серверами. А чтобы быть в курсе актуальных проблем веба, загляните в интересные факты из веб-альманаха 2021.
142013
Что думаете?
9 комментариев
Сначала интересные
Дорожная карта - полезная штука для начинающих, т.к. все сталкиваются с обилием информации, в которой сложно сходу понять с чего начать и чем закончить. Что должно входить в твои компетенции, а что уже является компетенциями других специалистов? Работая уже не первый год в IT, разбираясь во всем большую часть самостоятельно, сейчас я уверен в том, что начинать самостоятельное обучение стоит. Однако, чтобы оно не растянулось на годы, лучше подобрать достойные курсы и продолжать обучение уже там. Структурированная информация быстрее и лучше усвоится, чем самостоятельно бороздить просторы интернета и выхватывать знания кусками
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
Показать все комментарии