бэкэнд или фронтэнд что лучше
Стать программистом: фронтенд vs бэкенд
Чем занимается каждое из направлений
Фронтенд-разработка
Занимается версткой и программированием страниц. Всё, что вы видите и с чем взаимодействуете на сайтах: дизайн, кнопки, листалки, схемы — относится к этому направлению разработки.
Коротко и схематично о фронтенде. Слева направо: HTML — CSS — Javascript.
Задачи фронтенд-разработчика — сверстать и «оживить» сайт, обеспечить корректность его работы на всех устройствах. Для этого специалисту необходимо знание языков разметки HTML и CSS и языка программирования JavaScript, а также педантичность и внимательность.
Часто для перехода в ИТ-сферу выбирают именно фронтенд-разработку. Она не требует углубленного знания математики и подходит людям и с гуманитарным складом ума.
Бэкенд-разработка
Отвечает за внутреннюю функциональность сайта. Бэкенд-разработчик работает с сервером — невидимой частью сайта, где хранится вся информация. Он создает базы данных и управляет ими, проводит интеграции с внешними сервисами и занимается всем, что находится «под капотом» сайта.
Работу бэкенд-разработчика обычный пользователь увидеть не может, но именно благодаря ей сайт функционирует.
«Бэкенд есть у сайтов, мобильных приложений и даже у игр. Последние тоже „общаются“ с серверами и передают данные о вашей игре. Все платежные системы, системы оповещения, отправки писем и многое другое — все делается на бэкенде». Алексей Симоненко, директор по развитию в HTML Academy
Для бэкенда существует несколько языков программирования: PHP, Python, Ruby и другие. Поскольку они сильно отличаются между собой, мы остановимся на одном из них — PHP.
PHP — один из самых популярных и стабильных языков бэкенд-разработки. По данным W3tech.com, на нем написано 79% сайтов. PHP находится в топе языков программирования более 20 лет.
Рынок труда для фронтенд- и бэкенд-разработчиков на PHP
Динамика вакансий
По данным hh.ru, оба направления востребованы примерно одинаково. При этом востребованность специалистов растет.
Уровень конкуренции
Уровень конкуренции за рабочие места среди бэкенд-разработчиков ниже, чем у фронтенд-разработчиков и в целом по рынку. В апреле 2021 года hh.индекс (соотношение количества активных резюме к вакансиям) составлял:
Уровень зарплат фронтенд- и PHP-разработчиков (по данным hh.ru за 2021 год), в рублях
Уровень зарплат для фронтенд-разработчиков несколько выше, чем для PHP-разработчиков.
Зарплата PHP-разработчиков находится в диапазоне от 75 до 155 тысяч рублей, в среднем специалисты получают 110 тысяч рублей. Зарплата фронтенд-разработчиков лежит в диапазоне от 85 до 180 тысяч рублей и в среднем составляет 125 тысяч рублей.
Регион | Направление разработки | 1-й квартиль (минимум по рынку), тыс. руб | 2-й квартиль (медианная зарплата), тыс. руб | 3-й квартиль (максимум по рынку), тыс. руб |
---|---|---|---|---|
Россия | PHP | 75 | 110 | 155 |
Россия | Фронтенд | 85 | 125 | 180 |
Москва | PHP | 100 | 140 | 175 |
Москва | Фронтенд | 110 | 150 | 200 |
Санкт-Петербург | PHP | 85 | 120 | 160 |
Санкт-Петербург | Фронтенд | 100 | 140 | 180 |
Регионы | PHP | 60 | 100 | 130 |
Регионы | Фронтенд | 70 | 100 | 150 |
Какой вы программист?
Итак, оба направления важны, востребованы и взаимосвязаны. При этом качества, которые требуются в работе, разные. Собрали основные отличия фронтенда и бэкенда в одну табличку, чтобы вы могли определиться, какое направление вам больше подходит.
🌟 Фронтенд-разработчик | 🔥 Бэкенд-разработчик |
---|---|
✓ Визуальная часть То, что вы делаете, видно сразу. Эстетика, педантичность и быстрый результат. | ✓ Глубинное устройство Бэкенд не покажешь маме со словами «Смотри, это я сделал», но без него ничего не работает. |
✓ Узкая направленность Фронтенд — всегда верстка и программирование на JavaScript. | ✓ Возможность выбора Много языков программирования. Возможность работать сразу на нескольких популярных языках. |
✓ Постоянные обновления Фронтенд постоянно развивается — и разработчикам придется учиться всегда. | ✓ Стабильность Радикальные изменения в бэкенде происходят редко. Это направление требует фундаментальных знаний. |
✓ Низкий порог входа Освоить фронтенд может даже человек с гуманитарным складом ума. Где-то придется подтянуть математику, но в целом всё реально. | ✓ Хардкор Приготовьте знание и любовь к математике, сложным задачам, оптимизации, алгоритмам и всему техническому. Только бэкенд, только хардкор! |
Чтобы выбор был еще проще, пройдите бесплатный тренажер « Знакомство с веб-разработкой». За два дня вы на практике познакомитесь с HTML, CSS, JavaScript и PHP и точно определитесь.
Полноценное обучение
Для тех, кто готов погрузиться в программирование, в HTML Academy открыт набор на программы «Фронтенд-разработчик» и «Бэкенд-разработчик». Обучение фронтенду займет у вас 1 год и 3 месяца, бэкенду — 1 год и 2 месяца.
На каждой из программ вас ждут:
Что выбрать — frontend или backend
Веб-пространство – наиболее популярная часть IT-мира, поэтому нет ничего удивительного в том, что стать его частью хочет огромное количество людей. Если быть блогером или каким другим «гуманитарием» вам не по душе, а оставить свой след в вебе очень хочется — придётся разобраться в различиях фронтенда и бэкенда. Наш краткий обзор вам поможет.
Начнём с азов, то есть определений.
Чтобы вам было проще понять, проведём простую аналогию. Веб-страница – это симпатичная девушка (или парень, кому что ближе). Представьте ваше знакомство или свидание.
Первое, на что обращаете внимание — внешность. Это фронтенд. Ваш фокус постепенно переходит с крупных и ярких деталей к мелочам – чтобы волосы были причёсаны, кожа ухожена, ну и в целом видно, что человек к свиданию готовился. Так и с сайтами, только в этом случае вы рассматриваете таблицы, кнопки, блоки, картинки и прочее. Как и с человеком, в первую очередь здесь важны аккуратность и общий приятный вид, а уже потом яркие акценты. Эти задачи решаются frontend-разработчиками, «стилистами» веб-пространства.
Рано или поздно на свидании ваш собеседник открывает рот, то есть показывает первые признаки бэкенда — свой интеллект. Умение привлечь внимание не внешностью, а поведением — небольшое дело, но чтобы удержать фокус, действительно надо постараться. С сайтами точно так же. Необычная функциональность — хорошо, но по-настоящему круто, когда он построен на безупречном фундаменте, интуитивно понятен и работает как надо. С этой задачей приходится справляться бэкенд-разработчикам.
Что предстоит учить
Окей, в общих чертах мы уяснили, чем отличается фронтенд от бэкенда. Если вы всё ещё сомневаетесь с выбором, попробуем углубиться в используемые инструменты и понять, что вам грозит.
Обязательный минимум фронтенд-разработчика
HTML — язык гипертекстовой разметки. Иначе говоря – главный инструмент для создания внешнего облика веб-страницы: текст, картинки, таблицы, блоки и прочие базовые элементы дизайна. Сайты на чистом HTML уже не встречаются, но без знания этого языка во фронтенде делать нечего.
CSS — по сути, набор шаблонов для форматирования страницы. Позволяет реализовать на веб-странице какой-то общий сценарий оформления, придать ей красивый и законченный вид без лишнего дублирования кода.
JavaScript — в отличие от предыдущих представителей, это полноценный язык программирования, формально относящийся к фронт-енду. Фактически возможности JS куда шире организации «внешности», на нём можно создавать многие «серверные» фичи. Лишь бы у разработчика была фантазия, а в браузере стоял интерпретатор.
На выбор для будущего бэкенд-разработчика
PHP — наиболее распространённый в России и в мире в целом язык серверной части. Отправить письмо, обработать запросы, да и вообще организовать любую активность в вебе — это к PHP в большинстве случаев.
Python — один из самых простых языков для изучения. Прекрасно справляется с обязанностями «двигателя» веба благодаря удобству и фреймворку, речь о котором пойдет чуть позднее.
Ruby — ещё один язык серверной части, в своё время набравший сумасшедшую популярность благодаря веб-фреймворку.
SQL — язык для обработки баз данных, без которого бэкенда, можно сказать, не существует. Любую социальную сеть, интернет-магазин или просто страницу, изобилующую информацией, трудно представить без привязки к внешним базам.
Go — язык, в своё время специально разработанный корпорацией Google для высоконагруженных сервисов. Так как такую характеристику имеет большинство сервисов Google, и справляются они со своими задачами на отлично язык быстро ушел в народ.
Java — универсальный и мощный язык программирования, предназначенный для разработки веб и корпоративных приложений, банковского программного обеспечения, высоконагруженных сервисов, мобильных приложений, ПО для встраиваемых систем, отлично подходит для автоматизации тестирования. В меньшей степени подходит для разработки игр и desktop приложений. Совсем не подходит для frontend-разработки, есть конечно инструменты позволяющие разрабатывать frontend, но на самом деле Java код транслируется потом в JavaScript.
По правде говоря, в веб-разработке есть ещё большое число менее популярных языков, но для базового ознакомления хватит. Надеюсь, теперь вы лучше понимаете, что такое фронтэнд и бэкэнд разработка. Чтобы прояснилось ещё лучше, перейдём к библиотекам и фреймворкам.
Фреймворки front-end
Описать преимущества и недостатки любого из перечисленных здесь фреймворков в паре предложений почти невозможно, поэтому оставим это вам для самостоятельного изучения.
React.js — данный фреймворк, как и многие другие фреймворки frontend, ориентирован на применение JavaScript. Чтобы в первом приближении оценить его, скажем одну вещь — он разрабатывается и активно применяется компанией Facebook Inc. Их социальная сеть и сервис Instagram — лучшая реклама React.js.
Angular — продукт другой корпорации, Google. Получил большую популярность благодаря удобству и инструментам по созданию material design – тренду, не теряющему популярность уже более 5 лет.
Vue.js — некое промежуточное звено между Angular и React как по популярности, так и по функциональности. Крупного покровителя не имеет, но обеспечивает такой уровень удобства, что на задачах начальной сложности вы будете считать его своей волшебной палочкой.
jQuery — один из старейших фреймворков для JavaScript, наиболее распространён в современном вебе. 74% из 10 миллионов самых популярных сайтов было создано с использованием jQuery. Простота библиотеки позволяет легко внедрить простые DOM и анимацию за минимальное время с минимальной угрозой негативных последствий.
Фреймворки back-end
Фреймворк — программное обеспечение значительно упрощающее создание приложений и иных цифровых продуктов. В бэкенде большинство фреймворков заточено под свой конкретный язык, по-настоящему мультиязычные — редки и малоэффективны.
Yii2 (PHP) — в бэкенде на каждый популярный язык есть свой фреймворк. Вот, к примеру, Yii2 помогает работать с PHP. Так что вы если в будущем хотите делать аппаратную часть на этом языке (а вопреки ожиданиям он всё ещё популярен), тогда познакомиться с Yii2 придётся.
Django (Python) – тот самый фреймворк, который позволяет использовать Python в мире веба на полную катушку. Популярность объясняется очень просто: возможности огромного числа разработчиков веба не дотягивают до PHP, C, Java и прочих языков, а желания творить — хоть отбавляй много. И вот как раз с Python и Django у них всё удачно складывается.
Ruby on Rails (Ruby) – чтобы понять прелесть RoR, надо понимать Ruby и его сообщество. Язык относительно сложный, а вот разработчики на нём добродушные (и любят делиться исходным кодом). Вот и получается, что, используя Ruby on Rails, возможно, будете долго запрягать, зато быстро поедете.
Прочее
Разница в остальных инструментах лежит в области понимания профессии. Фронтенд-разработчики в основном нуждаются в инструментах визуализации (то есть графических редакторах) и в шаблонах. Актуальность знаний здесь играет чуть большую роль.
Бэкендеры основываются на средах разработки, упрощающих многие действия, и на системы моделирования. Они дают понять, как сайт будет работать на клиентской стороне — а это важнейший аспект разработки.
Что читать для знакомства с фронтендом и бэкендом
Мы подобрали ряд книг, ознакомившись с которыми, вы сможете понять, что сложнее — frontend или backend — в вашем случае.
Front-end
Книга, содержащая довольно много воды, но в случае с новичками это может помочь лучше закрепить базовый материал.
Крайне полезная книга не только для начинающих оформителей веба, но и для маститых специалистов. Содержит наилучшие практики кода, которые наверняка будут часто использоваться в вашей дальнейшей работе.
В отличие от предыдущей книги, здесь практически отсутствует реальный код, зато есть огромное количество справочных данных.
Литература, посвящённая построению правильного мышления в области создания не только красивого, но и практичного дизайна. Содержит кодовые и графические выкладки, что будет полезно даже совсем начинающим разработчикам.
Back-end
Одна из базовых книг по PHP. Скляра читал, наверное, каждый бэкенд-разработчик. Прекрасно подойдёт тем, кто начинает изучение с нуля. Всё чётко и подробно, а главное – с примерами.
Несмотря на заявленную в заголовке основную тему, читателю предлагается пройти весь путь веб-разработчика, начиная с основ HTML и СSS, и заканчивая довольно сложными сайтами и приложениями с использованием Ruby. Но важно отметить: языкам эта книга не учит, а вот тому, как создавать правильные приложения на «рельсах» – пожалуйста.
Как и в прошлой книге, для чтения этой книги необходимо хотя бы на базовом уровне владеть связкой HTML-CSS-JavaScript и Python. Книга примечательна тем, что содержит минимум воды и большое разнообразие примеров.
Если вы хотите создавать веб на Java, эта книга будет очень полезна для вас. Языку здесь не обучают, но процесс создания бэкенда с использованием Spring здесь описан простым информативным языком. Следуя по главам шаг за шагом вы на себе ощутите как превращаетесь из зелёного новичка в знающего профессионала.
Всем, кто планирует связать свою жизнь с вебом – рекомендуем достать эту книгу в любом варианте. Очень легко читается, требует минимум базовых знаний, но при этом содержит уйму информации о том, как создаётся и работает современный веб.
Уровень зарплат
Фронтенд или бэкенд лучше с точки зрения зарплаты? Как и в любой IT-профессии, оценить объективно среднюю зарплату по России или даже Москве для фронтенд или бэкенд-разработчика очень сложно. Начать можно с общих цифр, фигурирующих в недавнем исследовании Хабр Карьеры за второе полугодие 2019 года.
Согласно приведённому графику, разброс зарплат в обоих направлениях веба отличается незначительно, и что важнее — он точно не меньше зарплат фулстек-разработчиков. Если оперировать фактическими цифрами – вход на профессиональный уровень (уверенный junior или начинающий middle) лежит в районе 60-70 тысяч, и далее уходит к средней в 110-120 тысяч рублей. Что ещё важнее, согласно данным Хабр Карьеры, зарплата в разработке выросла в среднем на 6% по сравнению со вторым полугодием.
Для сравнения возьмём ещё статистику с портала trud.com. Вот данные на конец 2019 года по фронтенду:
Для сравнения — заработок среднего PHP-разработчика за тот же период:
Как видно из графиков, суммы соизмеримы, с небольшим перевесом у тех, кто работает с «лицом». В действительности уровень заработка напрямую зависит от набора скиллов и опыта. К примеру, в начале карьеры найти хороший контракт человеку в бэкенде чуть проще – просто оттого, что фронтенд-разработчик без реального опыта должен иметь хорошее портфолио, а для дополнительной проверки ещё сделать минимум пару тестовых заданий. С бэкендом достаточно прямо на собеседовании задать несколько вопросов по языкам и функциям.
Но если говорить об опытном специалисте — во всяком случае в крупных городах — найти жирный контракт во frontend проще — из-за ряда стереотипов экспертное мнение в этой области ценится выше, чем в backend. При этом одновременно разработчик уровня senior во фронт-енде может вести куда больше проектов, чем в бэк-енде.
Мы постарались собрать в этой статье всё, чтобы вы смогли сделать выбор в мире веб-разработки. Теперь дело за вами — решиться и попробовать. Удачи!
Выбираем профессию frontend- и backend-разработчика: принципы и отличия
Статья о том, что такое frontend- и backend-разработка, чем отличаются и как взаимодействуют между собой. Разбираемся и выбираем себе направление.
Традиционно эти две сферы разработки разделяют на сцену и закулисье. Во frontend вы работаете на глаза пользователя, в backend же — на его опыт и ощущения. В Skillbox мы учим и frontend, и backend. Остается только выбрать направление своей будущей профессии. А теперь подробнее.
Что такое
frontend-разработка?
Frontend — это разработка пользовательского интерфейса и функций, которые работают на клиентской стороне веб-сайта или приложения. Это всё, что видит пользователь, открывая веб-страницу, и с чем он взаимодействует.
Пишет про дизайн и маркетинг в Skillbox. С 2011 по 2017 год писала про бизнес в деловые СМИ, соучредитель агентства копирайтинга «Абзац».
Frontend-разработчик сотрудничает с дизайнерами, программистами
и UX-аналитиками, чтобы создавать удобный и востребованный продукт.
Чтобы наглядно понять frontend-разработку, откройте страницу любого сайта — перед собой вы увидите интерфейс. Щёлкнув правой кнопкой мыши, откроете код страницы в браузере.
Это и есть пример работы frontend-разработчика, он скачивается в браузер пользователя, и его можно увидеть своими глазами. Код страницы описывает цвета, вёрстку, шрифты, расположение графических элементов и так далее.
Компоненты frontend-разработки
Что такое
backend-разработка?
Backend-разработка — это набор аппаратно-программных средств, при помощи которых реализована логика работы сайта. Попросту говоря, это то, что скрыто от глаз пользователя и происходит вне его браузера и компьютера.
Например, когда вы вводите запрос на странице поисковика и жмёте клавишу Enter, frontend заканчивается и начинается backend. Ваш запрос отправляется на сервер Google или «Яндекса», где расположены алгоритмы поиска. Именно там случается всё «волшебство». Как только на мониторе появилась информация, которую вы искали, — вновь происходит возвращение в зону frontend.
По большому счёту, сервер — это тот же компьютер, только более мощный. Он хранит данные и отвечает на запросы пользователей.
Backend — это процесс объединения сервера с пользователем.
Компоненты backend-разработки
Backend-разработчик применяет те инструменты, что доступны на его сервере. Он вправе выбрать любой из универсальных языков программирования, например, Ruby, PHP, Python, Java. Всё зависит от конкретного проекта и задачи заказчика.
Также для backend-разработки используются системы управления базами данных:
В зависимости от продукта обязанности backend-разработчика сильно меняются. Такой специалист может создавать и интегрировать базы данных, обеспечивать безопасность или настраивать технологии резервного копирования и восстановления.
Как взаимодействуют frontend и backend?
Взаимодействие frontend и backend происходит по кругу:
Этими работами занимаются разные специалисты, но каждому из них желательно понимать принципы, по которым работают коллеги. Даже дизайнеру интерфейсов важно хотя бы в общих чертах знать, что представляет собой backend проекта, которым он занимается. Это поможет адекватно оценить, какие технические возможности есть у сайта или приложения.
Существует несколько вариантов взаимодействия frontend и backend:
Обязанности frontend- и backend-разработчиков, как правило, разделены, но бывают моменты, когда программист решает проблемы как на стороне сервера, так и в клиентской части. Оба вида разработки подразумевают и технические, и творческие компоненты. Нередко на рынке встречаются специалисты, которые уверенно чувствуют себя как во frontend, так и в backend и могут совмещать их.
Заключение
Начать свой путь в обеих отраслях можно с 12-месячного курса Skillbox «Профессия веб-разработчик». Он подходит для новичков и программистов с небольшим опытом. За год вы на практике изучите основные языки программирования и создадите портфолио, которое поможет найти перспективную и хорошо оплачиваемую работу.
Что выбрать: frontend, backend или fullstack?
Эксперт в PHP, Java, TeamLead, IT Management, ITIL, DevOps.
В веб-разработке есть три основных типа: frontend, backend и fullstack. Вместе с преподавателями SkillFactory мы разбираемся, чем они отличаются, кому больше подходят и что нужно изучить, чтобы построить карьеру в каждом из них.
Frontend-разработчик отвечает за дизайн сайта, верстку и анимирование. То, что происходит «под капотом» — внутренняя логика сайта, взаимодействие с сервером и базами данных, — ответственность backend-разработчика. Fullstack-разработчик должен уметь и то и другое.
Frontend-разработчик
Чем занимается?
Frontend-разработчик отвечает за красивые и понятные интерфейсы. Он делает так, чтобы статичный макет превратился в привлекательную и функциональную страницу в интернете, на которой можно нажимать кнопки, покупать товары и т.д. При этом страница будет правильно отображаться во всех браузерах и на разных устройствах.
Технический стек
Чтобы быть успешным frontend-разработчиком, нужно освоить HTML, CSS и JavaScript. На HTML пишут «скелет» страницы, на CSS настраивают цвета, шрифты и ее внутреннее наполнение. После освоения статичных веб-страниц разработчик учится языку JavaScript, который позволяют добавить на сайт динамичные элементы: слайдеры, калькуляторы, анимации.
Рабочий день
Типичный рабочий день frontend-разработчика начинается со встречи или звонка, на котором обсуждаются задачи, приоритеты и проблемы. Затем он скачивает последние версии кода с GitHub (сервис для размещения проектов и совместной работы над ними), просматривает изменения и комментарии и начинает работать. Помимо этого, ему нужно изучать тематические ресурсы, чтобы быть в курсе современных трендов.
Карьерный рост
Начальный уровень в разработке — стажеры (trainee). Это начинающие специалисты, которые закончили курсы и получили базовые знания. Их зарплаты, как правило, не поднимаются выше 30 тыс. руб.
Следующий уровень — джуниор-разработчики, они обладают небольшим опытом работы с проектами и часто советуются с более опытными коллегами. Зарплата джуниор-разработчика в Москве начинается с 60 тыс. руб.
Мидл frontend-разработчик — это опытный человек, способный самостоятельно и качественно решить большинство задач. Его зарплата обычно начинается от 100 тыс. руб.
Синьор frontend-разработчик обладает большим опытом, самостоятельно принимает решения о разработке, имеет свое видение архитектуры проекта и может его обосновать. Помимо этого, он решает менеджерские задачи, участвует в совещаниях с другими отделами.
Получите перспективную IT-профессию с нуля. Вы освоите полный набор знаний и умений, необходимых для создания визуальной части веб-приложений.
Дополнительная скидка 5% по промокоду BLOG.
Личные качества
Frontend-разработчику полезно быть перфекционистом, так как часто требуется реализовывать замысел дизайнера «пиксель в пиксель». Во frontend-разработке нельзя стоять на месте, она похожа на бег вверх по эскалатору, который едет вниз: постоянно появляются новые инструменты и меняются тренды. Это интересно, но иногда утомительно. Для крупных проектов актуальна командная работа, способность находить общий язык с людьми.
Алексей Видякин, frontend-разработчик:
«Я работаю frontend-разработчиком в сфере рекламы и маркетинга. Больше всего в работе мне нравится, что можно видеть результат сразу же после написания кода. HTML, CSS и JavaScript позволяют визуализировать свои или дизайнерские идеи, сделать интерфейс приложения удобным и понятным для пользователя».
Backend-разработчик
Чем занимается?
Backend-разработчик решает самые разные задачи, начиная от создания каркаса будущего приложения, заканчивая специфическими бизнес-задачами. Например, в банке такой специалист будет анализировать платежи с банковских терминалов и проверять их корректности для предотвращения краж. Еще он проектирует системы хранения и обеспечивает быстроту обмена данными, контролирует их чистоту и корректность доступа к ним. Помимо этого, backend-разработчик пишет системы для автоматического тестирования и проверяет, корректно ли работает программа.
Технический стек
Backend-части часто пишут на PHP, JavaScript и Go; для больших приложений, например банковских, используется Java. У каждого языка, как и любого инструмента, своя область применения. Backend-разработчики активно используют фреймворки — каркасы приложений, в которых фундаментальный функционал уже оптимизирован, это позволяет сосредоточиться на более конкретных задачах.
Рабочий день
Рабочий день backend-разработчика зависит от места работы. В компаниях, занимающихся разработкой собственного продукта, более размеренный ритм, в котором есть пара больших сессий написания кода в день (по 2–3 часа), короткие встречи для синхронизации с командой, обсуждение архитектурных вопросов. У заказной разработки график более рваный: нужно общаться с заказчиками, быстро вносить правки и участвовать во встречах.
Карьерный рост
Карьера начинается с позиции джуниор-разработчика. В течение испытательного срока он изучает процессы разработки, общается с командой и очень много работает. Первые полгода-год джуниор набирается опыта. Если за это время до конца было доведено много задач, багов было немного, а производительность сравнима с более опытными коллегами, можно просить о повышении.
Дальнейший рост может быть разным, как ветки прокачки в компьютерных играх: если вы прокачиваете технические навыки (hard skills), можно вырасти до уровня архитектора. Если вы чувствуете тягу к построению процессов, можно освоить методологии управления Scrum или Agile и обучать команды. Если есть уклон в классический менеджмент, можно вырасти до тимлидов и CTO (Chief Technical Officer, технический директор): в этой области нужно уметь организовывать и строить процессы, а также не бояться общаться с заказчиками.
Личные качества
Ответственность: на плечах такого специалиста лежит очень многое. Но самое главное качество программиста — научиться думать абстракциями. Если человек не может перейти с материального уровня на уровень функций, объектов, паттернов, то ему будет сложновато.
Александр Пряхин, работает в IT-менеджменте, до этого — backend-разработчик на PHP и Java:
«Моя профессия нравится мне динамикой. То, что вчера казалось фантастикой, сегодня – реальность. Посмотрите, как Тони Старк в фильме „Железный человек“ 2010 года с телефона показывает видео на телевизоре. Сейчас это обыденность. Программисты создают экосистемы, цифровые миры, высокопроизводительные системы. Разве это не круто?»
Освойте с нуля программирование на Go и бэкенд-разработку высоконагруженных приложений и станьте незаменимым специалистом. Дополнительная скидка 5% по промокоду BLOG.
Fullstack-разработчик
Чем занимается?
Fullstack-разработчик — это универсальный солдат. Он сам создает веб-приложения, начиная от проектирования структуры, заканчивая его размещением на сервере. Обычно он не разрабатывает крупные проекты: для этого необходима плотная работа frontend- и backend-команд. Часто он занимается небольшими проектами для крупных компаний или фрилансом, что дает свои плюсы: он не зависит ни от кого, кроме заказчика. А если возникнет необходимость, всегда можно переквалифицироваться в backend- или frontend-разработчика.
В fullstack-разработку часто приходят люди, создающие собственные стартапы. Например, WhatsApp был основан двумя разработчиками, Яном Кумом и Брайаном Эктоном. Для создания MVP (minimum viable product, минимально жизнеспособный продукт) им пришлось освоить fullstack-разработку. Поэтому часто это не чистое программирование со строгой методологией, а творчество, позволяющее специалисту реализовывать свои идеи.
Технический стек
Что должен знать fullstack-разработчик:
Рабочий день
День fullstack-разработчика обычно начинается с разбора тикетов (заявок пользователей) по системам, находящимся на поддержке. После решения срочных проблем продолжается работа над текущим проектом. На фрилансе много времени будет занимать общение и составление технических заданий, а в крупных компаниях обычно есть единая методология ведения проектов, например Agile.
Карьерный рост
В области fullstack-разработки как таковой градации на джуниор-, мидл- и синьор-разработчиков не существует, это характерно для небольших компаний и стартапов. Чаще встречаются эксперты и обычные разработчики. Первые способны с нуля создать поддерживаемый проект с хорошей документацией, выбрав одну из моделей проектирования и объяснив свой выбор. При этом они способны оперировать разными инструментами из своего обширного технического стека, а начинающие разработчики склонны применять выученный фреймворк ко всем задачам сразу.
Зарплата начинающих fullstack-разработчиков в Москве стартует от 60 тыс. руб. в месяц, а у экспертов доходит до 300 тыс. руб.
Личные качества
Ключевое качество fullstack-разработчика — способность ежедневно усваивать информацию и быстро учиться. Так как он работает в нескольких областях, нужно постоянно быть в курсе того, что происходит. Профессионализм fullstack-разработчика во многом зависит от технического стека, которым он владеет, и его начитанности. Помимо этого, он всегда должен думать на шаг вперед, например, как масштабировать проект, чтобы он мог выдерживать большие нагрузки. Он должен быть усидчивым, не бояться трудностей и уметь доводить начатое до конца.
Олег Ледванов, fullstack веб-разработчик:
«Я работаю fullstack-разработчиком в крупной компании из сферы телекоммуникаций, а до этого работал на фрилансе. Работа нравится мне тем, что можно быть ответственным за проект целиком и ни от кого не зависеть. Помимо этого, я могу пробовать новые фреймворки, мне не нужно ни с кем согласовывать свой стек и подстраиваться под компании».
Fullstack-разработчик на Python
Освойте программирование и fullstack-разработку на Python и Django. После обучения наш карьерный центр поможет вам подготовиться к собеседованию и предложит несколько вакансий на выбор. Дополнительная скидка 5% по промокоду BLOG.