Хочешь стать Back-End разработчиком? Тогда продолжай читать, потому что именно в этой статье ты можешь найти ответы на свои вопросы. Олег Гаркушенко, разработчик full-stack в Israel IT, поделился своим многогранным опытом и знаниями. Он подробно рассказал, с чего начинается карьера бэк-энд разработчика и раскрыл следующие вопросы:
•Кто такой Back-End Разработчик и какова его роль?
•Что входит в обязанности Back-End разработчика?
•Какими навыками должен обладать Back-End разработчик?
Кто такой Back-End Разработчик и какова его роль?
Для того чтобы ответить на этот вопрос, нужно знать, какую роль играет сам бэк-энд относительно веб-систем в целом. Для прагматичности разработку под веб делят на две основные части: front-end и back-end. Нужно понимать роль каждой из них:
Back-End — это программа, которая находится на сервере и имеет доступ к составляющей информации (базы данных) и делится ею с фронтендом.
Front-End — это интерфейс с которым взаимодействует пользователь, который при необходимости обращается на сервер по актуальным данным.
Back-end разработчик это человек, который занимается созданием и поддержкой технологий которые скрыты от глаз пользователя, то есть находятся вне его браузера и компьютера, на «бэкэнде». Например, человек заходит на сайт интернет магазина, выбирает товары по нужной категории, делается запрос на сервер, там бэкенд обрабатывает этот запрос и понимает, по какой именно категории пользователь хочет увидеть товары. После этого он обращается в базу данных с запросом на получение товаров по конкретной категории. База данных ищет среди всех товаров, принадлежащих этой категории, и возвращает их на бэк-энд, а бэк-энд возвращает их на фронтенд уже в согласованном формате.
То есть мы поняли, что имеем такую последовательность клиенто-серверного взаимодействия:
Действие пользователя – запрос на сервер – обработка запроса бэкендом – обращение в базу данных – база возвращает актуальную информацию – бэкенд возвращает ее на фронтенд – фронтенд отображает ее в понятном пользовательском виде.
Что входит в обязанности разработчика Back-End?
Back-End разработчик должен следить за тем, чтобы сайт масштабировался и мог хорошо функционировать даже при больших нагрузках. В зависимости от опыта и навыков можно разделить эту профессию на следующие уровни:
Junior:
На этом уровне у человека еще нет достаточного опыта в использовании определенной технологии и обычно они работают с помощью своих коллег, высших по статусу. Джунам помогают с постановкой и выбором инструментов для задания и доверяют простые, не критичные для проекта задания. Нужно иметь знания и навыки языков программирования… в обязанности джуна обычно входит:
-обработка запроса на сервер
-получение данных из базы данных
Middle:
На этом уровне человек самостоятельно может выполнять задачи, но с минимальной поддержкой коллег. Из обязанностей на этом уровне могут быть такие задачи как разработка отдельной значительной части программного интерфейса (например сервис по авторизации) и обязательно знания модульного тестирования.
Senior:
Это уже старший разработчик, который вносит наибольший вклад в нестандартные и трудные задачи. Здесь уже должны быть навыки построения проекта:
-проектирование архитектуры
-анализ бизнес потребностей
-оценка потраченного времени.
Синиор берет на себя ответственность менеджера и отвечает за безопасность данных.
Вообще бэк-энд разработчики должны уметь качественно кодировать, управлять серверной средой и устранять неисправности в процессе разработки.
Какие навыки должен иметь разработчик Back-End?
Я думаю, что человек, который хочет быть бэк-энд разработчиком, должен иметь такие софт скилс:
•успешно вести и выполнять сложные проекты;
•уметь брать на себя ответственность;
•быть внимательным к деталям
•аналитически мыслить
•уметь работать в команде
•быть инициативной
Относительно хард скилов:
•специалист должен свободно владеть хотя бы одним из перечисленных языков программирования:
C#, NodeJS, PHP, Python, Java.
• владеть фреймворками для этих языков программирования:
С# — .NET; NodeJS – Express, Nest.js; PHP – Laravel; Python – Django; Java – Spring
•уметь работать с такими базами данных MySLQ, MongoDB, PostgreSQL и так далее.
•знание SOAP и REST
Чтобы подытожить, можно сказать что бэк-энд это ядро любой веб-«сцены», а разработчик ее главный артист.