Хотите освоить новую прибыльную профессию? Расскажем, чем занимается и сколько получает Backend-разработчик. Вы упорны и любите развиваться, желаете получать деньги собственным умом? В статье разобрано, как стать Backend-разработчиком самостоятельно. Говорим о плюсах специальности и предупреждаем о подводных камнях.
Разработку делят на две зоны ответственности, за одну из них отвечает Frontend-программист, а за другую – Backend. Принцип такого деления прост:
Frontend это та часть кода, которая связана с видимой частью сайта или приложения.
Backend же занимается более глубокими основами ПО, которых не видно, но которые важны непосредственно для функционирования ресурса.
Это все рабочие функции сайта, его СУБД, все жизненно необходимые алгоритмы, API, а главное – базовая логика ПО, ее основы.
Главная обязанность backend-разработчика ― создать надёжный ресурс. Наиболее часто Backend выделяют в особую категорию именно в области веб, тогда как для приложений это не очень актуально. Для Интернет-ресурса особенно необходимы умные решения, которые помогут сделать его работу эффективной и удобной.
Прочитав предыдущий абзац, можно ошибочно счесть Backend-программиста привилегированной особой, более значимой, чем скромный Frontend. Однако на самом деле у этих специалистов равные позиции.
Можно сравнить их работу с изготовлением деревянной статуи. Backend создаёт «тело», тогда как Frontend наносит красивые узоры, из-под его резца выходит выразительное «лицо». Сложно представить одно без другого и наоборот.
Нет смысла выбирать разработку логики сайта только потому, что это представляется более престижным. И вам вряд ли будут платить по мешку золота за каждый символ кода, этот миф тоже опасно принимать на веру. Но Backend-специалисту платят достойно, это совершенно точно. Потому имеет смысл прочесть о сути двух сфер разработки и решить, хотите ли вы заниматься «телом» сайта.
Наиболее популярные языки, которые нужны Backend-разработчику, таковы:
Рассмотрим подробнее:
PHP – наиболее «древний», но постоянно обновляющийся язык. Его плюс – в том, что он заточен специально под веб-проекты. PHP ценят работодатели, и вы можете выбрать в качестве основного именно его, однако имеет смысл знать и другие языки
Java – был изобретён позднее, но, во многом, это позволило ему учесть ошибки своего предшественника (PHP). Популярен за счёт того, что его авторы дали программистам множество бесплатных возможностей. Также он достаточно гибок, позволяет решать нетривиальные задачи
Python – яркое свидетельство того, что всё гениальное просто. Молодой и перспективный язык, у которого всё впереди. Одно из главных достоинств Python – высокая скорость разработки. Для кого-то именно он становится базовым, так как программирование развивается, а кто знает, что будет завтра – и какой новый язык предложат изобретатели?
Чтобы понять, какова работа в этой профессии, давайте посмотрим, в каких сферах ее применяют. Так как сайт или приложение может быть у любого бизнеса, то из этого следует интересный вывод: помимо основных навыков, нужных непосредственно для разработки, от вас могут потребовать каких-то других полезных знаний.
Например, работая для текстильной промышленности, будет нужно знать, как работает фабричное оборудование, в маркетинге вы можете не справиться без понимания, как устроена воронка. То есть речь о практическом понимании основ того дела, для которого необходим веб-ресурс или мобильное приложение. Заниматься придется не только абстрактным кодом.
Если собрать в единый список базовые требования, то вот из чего будет состоять ваша работа:
Разработка архитектуры кода
Базы данных – их нужно разрабатывать, а потом поддерживать
Безопасность ресурса
API-разработка
Оптимизация работы сайта с точки зрения его своевременной загрузки
Семантическое ядро сайта – как ни странно, это тоже может понадобиться, хотя это работа сеошника
Настройка автоматических писем и уведомлений
Тестирование (хотя, опять же, это работа другого специалиста – тестировщика)
Этот список можно продолжать почти бесконечно. То есть от вас снова потребуется быть профессионалом широкого профиля. Отчасти это обусловлено обязанностями тесно связанных между собой и их проще поручить кому-то одному (пусть это и не его специализация), отчасти работает суровая необходимость в том, чтобы сотрудники умели заменять друг друга.
А во многом, конечно, работодатели экономят на оплате труда. Но можно посмотреть под другим углом: если вы и швец, и жнец, и на дуде игрец, то вам проще найти работу в кризисные времена.
Работать Backend-программистом хорошо. Вот по каким причинам:
Можно трудиться прямо из дома, удаленно
Достойная оплата труда
Хороший карьерный рост
Можно научиться многому, не только программированию
Но есть и некоторые сложности:
Неопытному разработчику сложно устроиться на работу
Нужна высокая концентрация внимания (вряд ли получится чилить в процессе труда)
Ошибки бэкендера дорого стоят – а потому и последствия могут быть для вас неприятными
Придется постоянно учиться, так как тренды в IT меняются (хотя именно для бэкенда они, к слову, меняются медленней, чем для фронтенда)
Безусловно, наиболее стандартный путь – это пройти по лестнице от стажёра до Senior, чтобы затем стать Team Lead – то есть добавить к программированию управленческие функции. Есть и другие интересные варианты:
Освоить фуллстек (то есть совместить в себе бэкенд и фронтенд)
Заняться вместо веба приложениями (здесь много перспектив роста)
Перейти в DevOps (вам будут рады как многогранному профессионалу)
Работать в сфере информационной безопасности (уровень ответственности в работе бэкенда высокий, и вам не привыкать)
Преподавание (если вам интересно помогать другим специалистам в развитии)
Даже если вы предпочтете обычную карьерную лестницу и дойдете до Senior, это вряд ли можно считать остановкой в развитии. Вы можете находить интересные проекты, прокачивать этим свой уровень и повышать свою зарплату.
Какой способ обучения выбрать? Можно пойти учиться в вуз, а остальное добрать на курсах. Можно сразу пойти на курсы, минуя вуз. Первый путь более надежный, второй – прогрессивный и мобильный.
Если о вузах информации много, то с курсами выше вероятность ошибиться, так как много непроверенных, а на самых знаменитых – суровые ценники. Хороший вариант – посоветоваться с знакомыми бэкендерами, а если таких нет – познакомиться. А чтобы вам проще было выбрать хорошие курсы, распишем требования к профессионалу подробнее.
Пока вас будут обучать полезным навыкам, можно работать над личными качествами и учить языки. Впрочем, в любом случае, что касается личности, вы будете только собой, так что список soft skills больше нужен для того, чтобы понять, нужно ли вам это, ваше ли это. Итак, по порядку.
Нужно знать языки программирования, используемые в бэкенде (основные три были разобраны выше)
Следует хорошо понимать принципы сетевой безопасности и реализовывать их на практике
Также необходимо знать API
Специалист должен разбираться в том, как работают разные виды серверов
Навыки и знания, связанные с базами данных
Навыки тестировщика
Способность структурно мыслить и составлять внятные ТЗ для других программистов
Это лишь азы, а в процессе работы придётся освоить многое другое, в том числе из смежных областей.
Тоже играют серьезную роль, так как истинный бэкенд должен быть разносторонне прокачанным:
Умение логично мыслить и систематизировать информацию
Готовность к дедлайнам, к четкому соблюдению сроков работы
Мобильность, быстрая реакция (проблемы порой приходится решать весьма оперативно)
Любознательность и обучаемость, готовность к большим объемом новой информации
Внимательность, способность концентрироваться и замечать мелкие ошибки (ведь они могут стать во всех смыслах фатальными)
Умение работать в команде, вовремя подстраховывать своих коллег, находить с ними общий язык
И это тоже всего лишь база, тогда как каждая конкретная команда предъявит к вам свои особые требования.
Главная причина, почему Backend-разработчику нужен этот навык, состоит в том, что большинство обучающей литературы – на английском. Без него вы вряд ли сможете развиваться. Более того, достойные мануалы есть и на других языках. Причём нужно знание не только базового уровня, но и сложной терминологии. Обучение – постоянный фоновый процесс в жизни бэкенда. Вы сможете изучать рекомендации по разработке от Google и других компаний, смотреть видеолекции иностранных коллег, читать в оригинале книги по юзабилити и дизайну.
Кроме того, вы, вероятно, пожелаете работать в иностранной компании. В таком случае нужно ещё и общаться на языке, в том числе использовать термины и правильно улавливать их на слух. А это непросто, в особенности если вы выбрали азиатскую компанию. Безусловно, английский вездесущ, и это спасёт, но для сотрудничества лучше общаться с коллегами и руководством на их родном языке.
Всё перечисленное важно, но нужен и практический опыт, а где его взять начинающему? Рекомендуем вам начать свой проект – можно даже некоммерческий. Это может быть сайт, посвящённый интересной вам теме. На этом примере можно постепенно знакомиться с реальными ситуациями в работе бэкендера.
Если ресурс станет популярным, то это будет дополнительным плюсом к вашему резюме. Трудоустройство начинается с диалога, а он возможен между людьми, знающими практические аспекты профессии.
15 оценок, среднее 4.3 из 5