Что кроме кода должен знать веб-разработчик (маркетинг, дизайн, а может, даже психологию)?
20.12.22, Вт, 10:20, Мск,
Объем мирового рынка веб-разработки к 2028 составит более 234 миллиардов долларов. Данные исследовательской организации Statista. Индустрия веб-девелопмента по-прежнему в числе растущих и требующих притока новых специалистов. Но какими именно навыками усилить себя на том или ином карьерном треке?
Содержание |
Дизайн
В высоконагруженных проектах, где цена ошибки разработчика очень высока, предложение «подучить и дизайн» может вызвать даже раздражение. Ценится, когда команда состоит из всех необходимых специалистов и каждый может сосредоточиться на своем деле. С другой стороны, есть ситуации, в которых подобные навыки будут очень интересны работодателю:
- если вы full-stack: предполагается, что вы сами закроете все потребности веб-проекта. Чтобы текст или визуальные UI/UX-элементы сайта нормально воспринимались и не вызывали отторжения у посетителей, нужно хотя бы понимать основные правила и стандарты сочетания цветов, верстки текста. Незачем принимать эти решения самостоятельно, ведь лучшие практики в этой сфере уже аккумулированы в дизайне;
- если вы делаете сайты на заказ: все, что касается full-stack программирования, применимо и здесь. С типичным заказом можно обойтись без дизайна. Есть множество библиотек, готовых шаблонов, тем CMS, в которых все решения по внешнему оформлению уже приняты. Дизайн и соответствующие навыки пригодятся, когда вам подвернется клиент, которому нужно нечто особенное;
- если вы frontend-разработчик: знатоки JavaScript и семейства фреймворков на его основе сталкиваются с дизайном еще более непосредственно, чем другие специалисты по веб-разработке. Даже в крупных командах такие задачи, как анимация логотипа могут поручить frontend-разработчикам. Ответ на многие вопросы, связанные с такими задачами, лежит за пределами кода. В сфере дизайна;
- если вы senior: опытный разработчик может вырасти в тимлида, а руководитель команды должен понимать проект в целом, включая то, как он выглядит для пользователя. Это позволит принимать правильные решения.
В других условиях знание дизайна не является ключевым приоритетом при отборе разработчиков. Тем не менее, знание его основ может помочь им в работе. Команды не работают в вакууме. Приходится вникать в требования коллег из других отделов и профессионалов в смежных областях. В противном случае, возникают конфликты, а цели компании остаются не реализованными.Витрина данных НОТА ВИЗОР для налогового мониторинга
Разработчики прямо или косвенно сталкиваются с работой отделов веб-дизайна или отдельных дизайнеров. Например, верстка новых сайтов часто ведется по макетам, которые нарисовал дизайнер в Photoshop или Figma. Также вылиться в задачу для разработчиков могут претензии клиентов к внешнему виду, удобству веб-проекта.
Дизайн для разработчиков. Где учиться?
- Курсы UI/UX-дизайна Productstar от РБК. В программе: Figma, Tilda. Стажировки. Сертификаты.
- Бакалавриат по программе Interaction Design в Колледж медиа искусств и дизайна им. Антуанетты Вестфал при Дрексельском университете. Лучшее, согласно рейтингам, место для изучения веб-дизайна, если вы – в США.
- Рейтинг самых полезных курсов по веб-дизайну для начинающих
Дизайн для разработчиков. Полезные ресурсы
- Статья на habr.com: «Что разработчику нужно знать о работе с дизайном/дизайнеров».
- Бесплатный курс веб-дизайна с нулевого уровня на платформе «Логомашина». Интенсив, продолжительностью в 4 дня, чтобы познакомиться с дизайном.
- Обучающая группа в VK, которая так и называется: «Дизайн для программистов».
- Сайт-учебник на английском языке «Just Ask: Integrated Accessibility Through Design».
Маркетинг
Разработчики, хоть и иногда, но конфликтуют с SEO-специалистами и интернет-маркетологами. В компаниях они часто являются источником идей о необходимости что-то переделать. При этом не всегда им удается найти общий язык с разработчиками. Нередко можно встретить специалистов, которые считают, что развиваться в сторону интернет-маркетинга не стоит, ведь все требования по возможности настраивать ЧПУ-ссылки, добавлять описания к картинкам и тому подобное, веб-студия получает в ТЗ от клиента. Если этого не произошло, то такую ситуацию можно признать проблемой того, кто написал техзадание. Интернет-маркетинг и SEO будет полезно изучить разработчикам, которые:
- работают в маленьких и средних компаниях: нередко те или иные изменения в проекте под поисковики поручают разработчикам. В небольших фирмах быть «человеком-оркестром» подчас необходимо. Многим такая работа покажется даже интересной, ведь с современными системами веб-аналитики можно в реальном времени наблюдать, как тонкие настройки в проекте приводят к росту количества посетителей, их удовлетворению контентом приложения или сайта;
- собираются сменить специальность: рано или поздно может наступить выгорание, которое, если верить исследованиям, является частым спутником веб-разработки. Разработчик, который устал от кода может принять решение стать интернет-маркетологом, ведь у него уже на старте будет конкурентное преимущество в виде опыта разработки, которым не может похвастаться большинство профессиональных маркетологов. С другой стороны, работать теперь понадобится в большей степени с людьми, чем с кодом;
- развивают свои IT-проекты в интернете: один из вариантов развития веб-разработчика – запуск своего сайта, приложения или сервиса. У многих во время работы появляются собственные интересные задумки. В свободное время приятно и интересно разрабатывать и экспериментировать. Когда ваш проект уже выложен в интернете, ему может понадобиться продвижение, чтобы быть замеченным пользователями. Тут-то и пригодится знание интернет-маркетинга.
Маркетинг для разработчиков. Где изучать?
- Курс «Маркетолог-разработчик» на образовательной платформе Skillbox (Скилбокс).
- Курс «Маркетинг для немаркетологов» от IT SHOP.
- Бесплатный ознакомительный курс по интернет-маркетингу для начинающих «Интернет-маркетинг за 40 минут» в SMM School.
Маркетинг для разработчиков. Полезные ресурсы
- Книга Михаила Бакунина. «Agile-маркетинг в интернете. Руководство по привлечению клиентов в условиях постоянных изменений».
- Бесплатный Youtube-курс Интернет-маркетинг с нуля на канале «Маркетинговое образование».
Английский язык
Многие веб-разработчики берутся учить английский, так как это хороший плюс к резюме, но почему-то немногим специалистам этой профессии удается овладеть языком «для общения с людьми» на практическом уровне. Есть данные, что сотрудники, владеющие английским на уровне advanced, получают в среднем на 20% больше коллег, не знающих английского. Перед разработчиком знание английского открывает огромные перспективы.
Можно попробовать трудоустроиться в Google, работать удаленно за доллары на европейские или американские компании, наконец, почему бы не начать трудиться в любой международную компании в России. Обычно в таких организациях на английском требуется общаться с сотрудниками главного офиса или командированными коллегами. В изучении английского будет плюс даже с точки зрения самого кода.
Не важно, кто вы: бэкендер, фронтендер или full-stack, документация многих библиотек второго ряда переводится с опозданием и нередко – частично. Большинство языков программирования имеют латинский синтаксис, так что junior-разработчиков, возможно, стоит начать учить английский, чтобы лучше ориентироваться и разбираться в коде. Конечно, есть 1С c патриотичной кириллицей, а на PHP можно писать функции и вводить переменные на русском, но все это, скорее предмет для шуток, чем реальная альтернатива. Стоит добавить, что на русском с большим опозданием выходят и многие востребованные книги по веб-разработке.
Английский язык для разработчиков. Где изучать?
- Бесплатный курс английского языка для программиста на proglib.
- Программа «Английский для разработчиков» в школе английского языка Englishdom.
- Социальная сеть языкового обмена и общения на английском языке Slowly.
Английский для разработчиков. Полезные ресурсы
- Книга Сакамото Маки «Занимательная манга. Технический английский».
- Книга Майя Olejniczak. «English for Information Technology».
Психология
Если разработчик нацеливается на позицию тимлида или уже им стал, то психология пригодится обязательно. Эта роль сразу обрушивает поток задач, связанных с человеческим фактором. Требуется вовремя поговорить с джуном и правильно мотивировать его, бороться с выгоранием подчиненных, и умно продавать идеи. Такие задачи распадаются на множество небольших решений, которые чистым «технарям» бывает сложно принять: поговорить с подчиненным один на один или в группе? Как лучше обсудить тот или иной вопрос и с кем? От ответов на все эти вопросы результат компании зависит не меньше, чем от хорошего кода.
Пригодятся психологические знания самим джунам. Нигде не говорят так много о важности soft skills, как в сфере IT. В числе «мягких» навыков, которые нужны, часто отмечают следующие: творческий подход, проактивность, адаптивность, критическое мышление, коммуникативные навыки. Все это можно «прокачать» с помощью психологии.
Для каждой задачи по разработке или поддержке legacy-кода нужен не только опытный специалист, который владеет всеми необходимыми технологиями, но и человек, который сможет решить конфликтные ситуации и фасилитировать бурное обсуждение спорных решений. Senior и middle-разработчиков как всегда немного и они работают в условиях дефицита времени. Часть задач делегируется «джуниорам». Отдел разработки в целом, и каждый разработчик в отдельности, взаимодействуют с продажниками, топ-менеджментом и большим числом заинтересованных сторон.
Важно:
- правильно оценивать свои навыки и общаться в коллективе;
- конструктивно относиться к критике (если в других сферах это может быть просто плюс, то в конкурентном и прагматичном мире разработки – это буквально вопрос движения по карьерному треку);
- уметь понятно объяснять сложные аспекты своей работы окружающим;
- уметь мотивировать и продавать решения.
Наличие даже поверхностных знаний и навыков в области психологии точно не будут лишними разработчику.
Полезные ресурсы
- Курс «Психология в ИТ» в Высшей школе экономики.
- Курс «Психология в IT-сфере» в онлайн-школе PSIvIT.
- habr.com. Статья «Психолгическая деформация программиста. Взгляд с обеих сторон баррикад».
Менеджмент
Перед любым senior'ом встает вопрос о дальнейшем развитии. Team-лид, в зависимости от компании, должен владеть самыми разными навыками, и многие из них связаны с менеджментом. Полученные знания и инструменты затем можно усилить степенью MBA – специальное образование для руководителей.
Менеджмент для разработчиков. Где изучать?
- Стандарт ГОСТ Р 54869 «Проектный менеджмент. Требования к управлению проектом».
- Международный стандарт ISO/IEC 27001 «Система менеджмента информационной безопасности».
- Менеджмент для программистов. Полезные ресурсы
- Курс «Менеджер проектов» в Яндекс.Практикум
Менеджмент для разработчиков. Полезные ресурсы
- Книга Скотта Биркина «The Art Of Project Management».
Тестирование
В реальной практике функции тестировщика и разработчика разделены. Несмотря на это, разбираться в средах тестирования, современных технологиях в этой сфере очень полезно для самого разработчика. Такие инструменты, как Postman (тестирование API), Cypress (тестирования фронтовой части сайта или портала), помогут быстро найти причины возникающих проблем, а также собирать информацию о работе приложения и лучше контролировать его.
Тестирование для разработчиков. Где изучать?
- Бесплатный курс «QA Start» от «Академии IT». За 7 бесплатных уроков вас познакомят с основами тестирования.
Тестирование для разработчиков. Полезные ресурсы
- Официальная документация от разработчиков фреймворка тестирования фронтенда «Cypress».
Алгоритмы и архитектура
Сегодняшний этап в развитии веб-разработки часто называют засильем специалистов по фреймворкам. Человек осваивает на курсах какой-нибудь инструмент, в котором синтаксис традиционных языков упрощен и сведен к ряду функций, у которых «под капотом» много готового кода. Навыки работы с библиотекой позволяют такому разработчику поддерживать какой-нибудь проект, выполнять рабочие задачи, но он плохо представляет, что на самом деле делает код, которым он пользуется. Любая нетривиальная задача может поставить его в тупик. Более глубокие знания алгоритмизации, клиент-серверной архитектуры, других аспектов веб-разработки, может превратить такого разработчика в по-настоящему ценного сотрудника.
Теория программирования и компьютерной техники. Где изучать?
- Курс «Архитектура современных компьютерных сетей» от онлайн-школы «Курсы по ИТ.рф».
Теория программирования и компьютерной техники. Полезные ресурсы
- Книга Эндрю Таненбаума «Архитектура компьютера».
- Книга Мартина Фаулера «Архитектура корпоративных приложений».
Нужно ли веб-девелоперу знать… что угодно?
Программирование всегда существует на стыке кода и чего-то еще, ведь автоматизации подвергается какая-то конкретная, полезная сфера жизни. Если у вас есть навыки, например, археолога из прошлой жизни, то вам гораздо легче будет создавать скрипт для манипуляции данными из базы данных археологических находок. Если вы финансист, то потеряете гораздо меньше времени на то, чтобы разобраться в данных, если будете писать банковское приложение. В программировании прямо или косвенно могут пригодиться практически любые навыки и знания.
Автор: Ринат Юнусов