О роли фронтенд-разработчика
- пятница, 31 июля 2020 г. в 00:30:55
Привет, Хабр! Представляем вашему вниманию перевод статьи фронтенд-разработчика из MediaMonks Рональда Мендеса. Будучи родом из Венесуэлы, Рональд перебрался в Аргентину и построил успешную карьеру, а благодаря своему большому интересу к дизайну и анимации стал одним из членов жюри престижной премии FWA (вручается с 2000 года).
В этой заметке, которая показалась нам интересной, Рональд рассуждает о том, как фронтендеру найти свое место под солнцем и эффективнее взаимодействовать со своей командой.
Когда я начал работать разработчиком в 2009 году, я проводил большую часть своего времени, верстая сайты. Мои задачи относились к заключительному этапу линейного процесса, в котором дизайнеры, клиенты и другие заинтересованные стороны принимали практически все решения.
Где бы я ни работал (в агентстве или как фрилансер), разработчиков нигде не привлекали к взаимодействию с клиентами, кроме тех случаев, когда нужно было ответить на какие-то технические вопросы. Чаще всего меня спрашивали о реализации простого функционала, например, как сделать слайдер или адаптировать изображение, загруженное с CMS.
В последующие годы, по мере того, как фронтенд-разработка становилась всё сложнее, и у разработчиков появлялось всё больше новых навыков, такое отношение к фронтенд-разработчикам всё больше разочаровывало.
Многие организации, включая те, где я работал, придерживались водопадной модели разработки: мы понятия не имели о том, что происходит, до тех пор, пока проект не был готов непосредственно к программированию. Всё сваливалось на нас в последнюю минуту, и мы не успевали даже вставить свои пять копеек.
Несмотря на то, что зачастую члены нашей команды нас высоко ценили, у нас всё равно не было возможности внести свой вклад в проекты в самом начале процесса. Каждый раз, когда мы делились идеей или замечали проблему, было уже слишком поздно.
Мы, фронтендеры, прошли долгий путь за последние десять лет. После стольких лет напряженной работы, необходимой для того, чтобы стать топовыми профессионалами и оказывать большее влияние на проекты, теперь многие программисты стали получать больше морального удовлетворения от вносимого вклада в продукт.
Но нам всё ещё есть куда стремиться: к сожалению, работа некоторых фронтендеров, обладающих удивительными навыками, до сих пор сводится к верстке из PSD-макетов в HTML. Других устаивает свое положение в команде, но им бы хотелось играть более активную роль и продвигать свои идеи при разработке проекта.
Хотя я и горжусь тем, что отношусь к программистам, которые имеют влияние на проект, я продолжаю бороться за наше место под солнцем. Надеюсь, прочитав о моем опыте, вы захотите присоединиться к моему движению.
Моя роль в команде начала меняться, когда я увидел вдохновляющее выступление Сета Година, которое помогло мне кое-что осознать: у меня есть силы на перемены, которые позволят мне получать большее моральное удовлетворение от работы. Годин предлагает требовать быть более активным независимо от того, работаете ли вы на босса или на клиента — именно этот совет дал мне необходимый толчок.
Я не рассчитывал на большой скачок — мне достаточно было почувствовать, что я иду в правильном направлении.
Однажды у меня появился идеальный шанс прощупать почву. Я как раз сотрудничал с небольшой дизайн-студией, и в команде было пять человек. Так как я никогда не скрывал, что мне нравится дизайн, было нетрудно их убедить, что, если меня будут больше вовлекать в дизайн-процессы, я смогу давать обратную связь по технической части до того, как макеты будут представлены клиентам.
Результаты были поразительными и положительно повлияли на работу всей команды. Мне стали передавать материалы по дизайну, чтобы получить мое одобрение по технической части. Со своей стороны, дизайнеры с радостью отметили, что сайты, которые мы запустили после общего согласования, точнее соответствовали макетам.
Следующим моим шагом было участие в каждом проекте с первого дня. Я начал ходить на первые встречи с клиентами, ещё до того, как были подписаны какие-либо контракты. Я обращал внимание команды на вещи, которые могли превратить фазу разработки в настоящий кошмар. В то же время я предлагал попробовать новые технологии, которые изучал на тот момент.
Через несколько месяцев я почувствовал, что мои старания наконец-то повлияли на проекты команды. Я был доволен своей ролью в команде, но я знал, что это не будет длиться вечно. В итоге пришло время отправиться в путешествие, которое вернуло бы меня к классической роли фронтенд-разработчика, то есть к подножию водопада.
Когда моя карьера начала стремительно развиваться, я оказался вдали от того маленького офиса на пять человек, где всё начиналось. Теперь я работал с гораздо более многочисленной командой, и проблемы были совершенно другими. Сначала меня очень удивило то, как они подходят к рабочему процессу: у всех членов команды была сильная техническая подготовка, в отличие от других команд, с которыми я когда-либо работал. Это делало сотрудничество очень эффективным. У меня не было никаких претензий к качеству дизайна, с которым я работал. На самом деле, в течение первых нескольких месяцев меня постоянно выталкивали из зоны комфорта и постоянно проверяли мои навыки.
Но после того, как я освоился со своими обязанностями и начал чувствовать себя комфортнее, передо мной возникла новая задача: помочь наладить более тесную связь между командами дизайнеров и разработчиков. Несмотря на то, что мы регулярно вместе работали над высококлассными разработками, эти команды не всегда говорили на одном языке. К счастью, компания уже прилагала усилия, чтобы улучшить общение между дизайнерами и разработчиками, поэтому у меня была вся необходимая поддержка.
Как команда разработчиков мы перешли на современные JavaScript-библиотеки. Это привело к тому, что при работе с нашими приложениями мы использовали исключительно компонентный подход. И несмотря на то, что мы медленно меняли наш образ мышления, мы не изменили способ сотрудничества с творческой половиной нашей команды. Создать эту связь между командами и стало моей новой целью.
Я был в восторге от концепции Брэда Фроста «Cмерть водопаду»: идея в том, что команды UX, визуального дизайна и разработчиков должны работать параллельно: это приведет к более высокому уровню итерации в ходе проекта.
Все члены моей команды стали брать на себя больше обязанностей и делиться мыслями относительно каждого проекта, когда их стали поощрять вести совместный рабочий процесс. Разработчики начали участвовать в проектах на стадии дизайна, отмечая любые технические проблемы, которые могли предвидеть. Дизайнеры вносили свой вклад и давали рекомендации на стадии разработки. Когда процесс запустился, мы сразу увидели положительные результаты и превосходно проделанную работу.
Хотя может показаться, что этот переход был плавным, но на самом деле он потребовал большой напряженной работы и преданности делу со стороны всех членов команды. Все мы хотели не только улучшить качество работы, но и сделать большой скачок за пределы наших зон комфорта и старых рабочих процессов.
По моему опыту, достижение реального прогресса требовало сочетания двух вещей: оттачивания своих навыков как фронтенд-разработчика и стимулирование команды к улучшению рабочего процесса.
Ниже вы увидите более подробную информацию о том, что сработало для меня и могло бы также сработать для вас.
Несмотря на то, что реальное изменение вашей роли в команде может зависеть от организации, где вы работаете, иногда ваши индивидуальные действия могут помочь запустить процесс перемен:
Чтобы максимально использовать свой потенциал как разработчик, вам нужно будет убедить вашу компанию внести ключевые изменения. Этого может быть трудно добиться, поскольку, как правило, требуется вывести всех членов команды из зон комфорта.
В моем случае сработали именно долгие переговоры с моими коллегами, в том числе с дизайнерами, руководством и разработчиками. Менеджеру трудно отказать вам, когда вы предлагаете идею по улучшению качества вашей работы и просите лишь о небольших изменениях. Как только остальная команда поддержит эти изменения, вам придется усердно поработать и начать внедрять эти изменения, чтобы процесс не остановился:
Справедливости ради надо сказать, что современный разработчик не может просто спрятаться за клавиатурой и рассчитывать на то, что остальные члены команды примут все важные решения относительно рабочего процесса. Наша роль требует от нас выходить за пределы кода, делиться своими идеями и упорно бороться за улучшение процессов, в которых мы участвуем.
Спасибо за прочтение материала. В конце нам бы хотелось добавить несколько слов от себя.
Мы хорошо знаем, что нередко даже талантливый разработчик испытывает проблему в связи с отсутствием яркого портфолио. Не у всех из нас есть усидчивость для создания заметных пет-проектов, а выполненные заказы на фрилансе — это не тот опыт, который обычно впечатляет потенциального работодателя. Один из выходов — тематические конкурсы.
На правах небольшой нагловатой рекламы (да простит нас Рональд): один из таких конкурсов стартовал сейчас у нас. Если вы знакомы с React или видите силы попробовать себя в написании компонентов для React, приглашаем принять участие по ссылке.
Прием работ продлится до 28 августа.