Хабр, привет! Меня зовут Сергей Константинов. Я старший разработчик в Сбере и наставник на курсе «Фронтенд-разработчик» в Практикуме. Возможно, вы уже знакомы с моей статьёй «Путь фронтенд-разработчика. От рождения до тимлида», в которой я описал типичный карьерный путь, полный трудностей и преодолений. На этот раз я расскажу о том же пути, но с другого ракурса, — и разберу задачи, которые часто выполняют фронтенд-разработчики разных грейдов и на разных местах работы.
Чем занимается фронтенд-разработчик
Фронтенд — это визуальная часть веб-приложения, то есть интерфейс, с которым взаимодействует пользователь. Все кнопочки, скроллы, поля для ввода, всплывающие окна и нотификации, а также логика их работы, в общем, всё, что видит пользователь на сайте, — это результат работы фронтенд-разработчика. Некоторые разработчики также занимаются интерфейсами для мобильных приложений или, например, банкоматов, но это скорее производные задачи.
Этим фронтенд отличается от бэкенда — той части приложения, которая отвечает за данные. Например, за хранение данных об имени или фотографии профиля пользователя, реализацию механизма транзакций или обработку видео после загрузки.
Ключевой задачей фронтенд-разработчика является разработка и оптимизация интерфейса. Оптимизация включает в себя как уменьшение размера ресурсов — картинок, шрифтов, кода, необходимых для загрузки пользователем, зашедшим на сайт, — так и улучшение производительности самого кода. Также фронтенд-разработчик может быть задействован и в смежных областях вроде аналитики, дизайна и тестирования.
Джуниор: тяжёлые будни «разноработчика»
В начале карьеры разработчика правильнее назвать «разноработчиком». Дело в том, что людей на джуниор-позиции чаще всего ищут небольшие стартапы и студии, которым нужно выполнять самые разные задачи: от вёрстки до полной поддержки приложения, в том числе и его бэкенд-части. А значит, здесь вы и жнец, и жрец, и на дуде игрец. Поскольку денег у таких компаний часто немного, они ищут разработчика, который закроет все их потребности и желательно бесплатно. В то время, когда в зрелых проектах этим занимается целая команда.
Чаще всего, вне зависимости от того, попали ли вы в стартап, студию или «проданы» как аутстаф-сотрудник, вы будете работать в одиночку. Основной областью ваших задач будет исключительно разработка: в студии вы будете верстать сайты, как аутстаф — поддерживать легаси приложения, в стартапе — разрабатывать проект, который остался от предыдущего разработчика, который уволился, оставив вам три конверта. При этом в каждом из этих мест темп работы будет бешеным, а процессы неотлаженными. Однако в стартапе картина может меняться в лучшую сторону — вместе с достижением зрелости и ростом бюджета.
Мидл: хороший заработок и много предложений
Как только ваш стаж перевалит за заветные 1,5 года, условия работы кардинально улучшатся, а вы сможете претендовать на звание «мидл-разработчик» (при условии, что вы не били баклуши, активно учились и впитывали в себя всё, что могли). Разработчики этого грейда самые востребованные на рынке — для них всегда есть достаточно много предложений в хорошие компании с бюджетом.
Мидл-разработчик может устроиться как в крупную корпорацию, так и в уверенный стартап с выстроенными процессами. Зачастую в таких компаниях используется Agile-подход и методология Scrum, а работа делится на спринты — отрезки времени, чаще всего по две недели, на которые команда берёт определённый объём задач. Обычно при планировании спринтов учитывается нагрузка, поэтому у разработчиков в таких командах не бывает серьёзных переработок.
Деятельность специалиста грейда «мидл» разнообразна: кроме основных обязанностей по написанию кода фронтенд-приложения, мидл-разработчик участвует в грумингах и PBR — встречах, на которых абстрактные требования заказчика превращаются в осмысленные задачи. Также фронтенд-разработчик может взять на себя задачи по разработке бэкенда. В отличие от аутстаф-работы, где разработчик тоже выполняет самые разные задачи, в зрелых командах это происходит не из-за необходимости, а с целью развития у сотрудников смежных компетенций.
В обязанности любого разработчика также входит написание unit-тестов на написанный им функционал. Есть различные уровни тестирования, где unit-тестами называются простые функции, тестирующие работоспособность изолированных небольших частей приложения, чаще всего — отдельных функций. Например:
test('test', () => { expect(sum(2,2)).toBe(4) }
Этот код проверяет работоспособность функции sum, чтобы в случае рефакторинга её работоспособность осталась прежней.
Синьор: максимальный уровень неопределённости
Чем выше грейд разработчика, тем больше неопределённости в решаемых им задачах. Джуниор решает понятные задачи, возможно, с чьей-то помощью. Мидл — автономный разработчик, способный решить самостоятельно поставленную задачу. Синьор же может не только решить задачу, но и собрать все необходимые требования, обсудить детали реализации с заказчиком, а также, если необходимо, выразить мнение, почему эта задача не может быть реализована. Такие люди чаще всего незаменимы на аналитических встречах, так как могут высказать компетентное мнение и оценить подводные камни в задаче с высоты своего опыта.
Тимлид: меньше кода, больше управления
Когда разработчик становится тимлидом, написание кода отходит на второй план. В зоны ответственности такого специалиста входит организация работы команды разработки, приоритизация технических задач, распределение их в команде и координация. Тимлид уже не пишет код — часто бо́льшую часть времени он проводит на встречах с заказчиками и другими людьми, с кем так или иначе связано обсуждение конкретной задачи. На написание кода просто не остаётся времени.
Резюме
Фронтенд-разработка — сфера многогранная, включающая в себя как написание кода, так и аналитику, участие в проектировании дизайна, тестирование и общение с заказчиком. Чем выше грейд разработчика, тем больше неопределённости в решаемых им задачах и шире область компетенций, которые он может покрыть. Также синьору или тимлиду необходимо хорошо ориентироваться в бизнес-процессах и работе бэкенда, чтобы грамотно согласовать с этим работу фронтенд-приложения.
ссылка на оригинал статьи https://habr.com/ru/articles/856182/
Добавить комментарий