Что должен уметь бэкенд-разработчик
Пока кто-то не может найти работу, на HH.ru открыто 1270 вакансий по специальности бэкенд-разработчик, на Indeed.com — 440. Работодателям нужны подготовленные специалисты, и они готовы платить. В среднем в Москве Junior получает 60 000 рублей, в регионах — 30 000 рублей.
Обучение в онлайн-университете: курс «Веб-разработчик с нуля»
Teamlead, PHP & Rails developer Нетологии Максим Смирнов рассказал, кто такие бэкенд-разработчики, какие навыки и умения им нужны и как стартовать новичку.
Место бэкенд в веб-разработке
Веб-разработка — создание сайтов и веб-сервисов. Включает программирование на стороне клиента и сервера. Эту часть работы выполняют программисты. Они работают совместно с дизайнерами и верстальщиками, которые разрабатывают веб-дизайн и создают макеты страниц.
Веб-разработчики работают в трех направлениях:
Кто такой бэкенд-разработчик
Сложно. Бэкенд разрабатывает программно-административную часть проекта, занимается его внутренним содержанием и серверной частью — базами данных, архитектурой, программной логикой.
Просто. Бэкенда можно сравнить со строителем, который:
- укладывает кирпичи — знает язык программирования;
- знает, как пользоваться бетономешалкой, чтобы не замешивать цемент вручную — использует фреймворки;
- умеет читать планы и документацию здания — понимает чужой код.
Порог входа в бэкенд высокий, новичкам сложно освоить все с нуля самостоятельно. Поэтому в специальность чаще переходят бывшие фронтенды, которые знают JavaScript, разбираются в библиотеках и фреймворках, используют некоторые из них. Если сейчас вы слышите эти слова впервые, но хотите сразу изучать бэкенд, записывайтесь на наш курс «Веб-разработчик с нуля». Во время обучения вы освоите фронтенд и получите базовые навыки бэкенд-разработки.
Какие навыки нужны
Hard skills — основные рабочие навыки, которые нужны для выполнения задач. Бекэнд-разработчику нужно знать:
- языки серверного программирования PHP, Ruby, Python или другие;
- MySQL, основы работы с базой данных;
- паттерны программирования и фреймворки Ruby on Rails, Yii, Django или другие;
- алгоритмы.
Чтобы освоить профессию, нужно понимать работу языка и его окружения, функционирование сетей — стека протоколов TCP/IP, HTTP. Бэкенду нужно разбираться в работе системы версионирования Git и сервера, например, по схеме ubuntu server + nginx + mysql + фреймворк.
Начинающему бэкенду нужно знать английский хотя бы на уровне чтения документов.
Soft skills — неспециализированные навыки, которые не связаны с должностными обязанностями прямо, но помогают устроиться на работу, стать частью команды и развивать карьеру:
- умение слушать собеседника, вести диалог, задавать вопросы и отстаивать свою точку зрения;
- говорить о проблемах в работе, просить совет у более опытных разработчиков;
- искать информацию и перенимать опыт коллег;
- планировать рабочий процесс, ставить сроки выполнения.
Как развивать карьеру
Junior. Знает язык программирования, умеет работать с базой данных, может выполнять простые задачи в проекте. Чтобы развиваться профессионально:
- занимается самообразованием;
- знает, где и как искать ответы на вопросы по ходу работы;
- работает под наблюдением опытных разработчиков;
- проходит pull request — опытные специалисты просматривают его код, комментируют и дают рекомендации по улучшению.
Пример вакансии для Junior с superjob.ru. По статистике, в Москве Junior получают 60 000 рублей, в регионах — 30 000.
Middle. Знает язык программирования на продвинутом уровне, ознакомлен с code style проекта, умеет использовать фреймворки. Самостоятельно выполняет несложные задачи на проекте, может проектировать решения для небольших задач. За счет опыта может оценить задачи и ставить сроки выполнения.
Пример вакансии для Middle c superjob.ru. По статистике, в Москве Middle получают 140 000 рублей, в регионах — 80 000.
Senior. Опытный разработчик, хорошо знает специфику своего стека и особенности его работы в разных окружениях. Может проектировать масштабные задачи и проекты, понимает необходимость использования или отказа от определенных паттернов или решений. Благодаря большому опыту может консультировать других разработчиков. Обладает развитыми soft skills:
- умеет донести до заказчика, какие решения лучше использовать;
- делится знаниями с командой, помогает решить проблемы менее опытных разработчиков;
- понимает, зачем конкретные решения нужны бизнесу;
- отличает хорошие решения поставленных задач от плохих, может предложить оптимальное.
Пример вакансии для Senior c glassdoor.com. По статистике, в Москве Senior получают 120 000 рублей, в регионах — 180 000.
Полезные материалы для начинающих
«Совершенный код», С. Макконнелл
Практическое руководство по программированию с учетом современных технологий и тенденций. Автор приводит инструкции и многочисленные примеры, рассказывает об эффективных методиках и принципах создания кода. Книга для тех, кто работает над проектами любой сложности.
«Рефакторинг. Улучшение существующего кода», М. Фаулер
Автор перечисляет простые шаги рефакторинга — перемещение поля в другой класс, вынесение фрагмента кода из метода, превращение его в самостоятельный метод и другие. Материал для тех, кто хочет предотвратить распад плохо спроектированной программы и улучшить проект.
«Создание микросервисов», С. Ньюмен
Книга о программировании микросервисов — небольших автономных компонентов, которые позволяют сделать программу модульной и добиться отказоустойчивости. Полезный материал для тех, кто работает с трудно разрешимыми задачами и масштабирует проекты.
«Working Effectively with Legacy Code», М. Физерс
Автор рассказывает о работе с непроверенным унаследованным кодом, приводит перечень методов изолированной работы с частями программы и безопасных изменений. Книга для тех, кто работает с унаследованным кодом и совершенствует устаревшие программы.
Полный текст статьи читайте на Нетология