В современном разнообразии различных IT-специальностей (их классификаций) приходится формировать термины, которые точно позиционируют специализацию. Один из таких специальных терминов – Full-stack (произносится "Фуллстак"), который приходится использовать мне для точного позиционирования свой сферы деятельности.
Fullstack разработчик – кто это?
Что такое Fullstack Developer?
В переводе с английского – это Разработчик Полного Стека (дословно) или Разработчик с полным набором навыков (адаптированный рус.). Такое определение подразумевает, что есть полный набор навыков для выполнения какой-либо задачи. А задачи бывают различными.
Чаще всего сам термин используется в среде web разработчиков. Именно там можно встретить распространённое объяснение, что такой специалист должен сочетать навыки Frontend (фронтенд) и Backend (бэкенд) программирования. Другими словами, уметь программировать решения для браузерной (клиентской) и серверной функциональности сайта. Но, при этом определении, забывают изначальное значение термина – полный набор навыков для возможности самостоятельно выпускать продукт! А говоря только о навыках программиста, забывают о множестве других навыков Fullstack web разработчика, необходимых для выпуска качественного сайта. Например, для получения готового веб-проекта, необходим дизайн страниц, SEO-оптимизация и многое другое. А если задачей становится постоянное развитие сайта, то количество необходимых навыков увеличивается (особенно навыки SEO).
Эта ситуация порождает бесконечные споры о том, кого называть full-stack разработчиком. От чего зависит необходимый стек навыков? Почему постоянно возникают споры об оценке качества отдельных навыков в стеке («всего знать невозможно…», «нельзя объять необъятное…» и т.п.)?
Споры возникают от смещения способов оценки значения термина. В начале это был больше термин HH-агентов, для поиска специалистов для обычных компаний (решать задачи с их сайтами). Но сейчас "право на определение" значения термина взяли на себя профильные специалисты в IT компаниях. Что и вызвало разночтение в понимании термина – так как задачи (у IT и обычных компаний) различные.
Эти споры в определениях зависят от того, в какой области необходим Fullstack Developer. Так, для задач "галеры" (агентство, компания разработчик), интересен специалист с полным стеком технологий и навыков определённой одной области. Например – Fullstack JavaScript разработчик.
Но обычно, в наборе навыков разработчика важно не максимальное качество каждого конкретного навыка, а качество конечного создаваемого продукта (в котором проявляется опыт и комплекс различных навыков). Именно по этой причине FullStack разработчики набираются в "тимлиды" (Teamleader) проектов, где критически важно понимание всей технологической картины в целом.
А вот для обычного бизнеса (оплачивающего IT продукт) нужно законченное работающее решение – это готовый продукт. Большинству компаний интересен фулстек специалист, который способен создать хороший готовый продукт "под ключ" и уметь развивать его. Что особенно актуально в web разработках и различных бизнес-задачах коммерческих компаний в интернете.
В среде Web Development какие требования к Fullstack?
Для создания, развития и комплексной поддержки современного сайта для бизнеса (претендующего на лидерство в целевом поисковом спросе) нужен стек разных специальностей. И это формирует очень широкие и часто несочетаемые требования к веб-разработчикам:
- Маркетинг (понимание существующих технологий и возможностей);
- Анализ спроса и конкуренции, проектирование SEO;
- Хороший дизайн (см. Эффект Ресторфф) и технологии оформления адаптивных версий;
- Оптимизированная верстка под Core Web Vitals и SEO;
- Программирование и интеграция функциональных решений (с учётом Core Web Vitals 2021);
- Настройка хостинга и администрирование сервера (с учётом задач SEO);
- Работа с контентом сайта и информационная политика (с учётом задач SEO);
- Работа с поисковыми системами и сервисами;
Необходимые навыки для развития проекта:
- Работа с рекламными сервисами и площадками;
- Сбор, мониторинг и анализ статистики;
- SMM и информационная политика аккаунтов;
- Фото для сайта, видео и графика (с первичной публикацией).
Редко кто способен сочетать такой набор навыков. По этой причине существуют коллективы специалистов в разной специализации – студии, агентства и др.
Хороший Full-stack web developer может решать такие задачи бизнеса комплексно. Например – это способность одного человека создавать и развивать качественные сайты. От предварительного анализа спроса и конкуренции (для проектирования всей архитектуры проекта), до разработки и комплексной поддержки проекта (стабильного достижения ТОП целевого поискового спроса).
2 вида веб разработчиков, претендующих называться Fullstack
Первый – это профильный специалист (например – JavaScript разработчик), который сочетает в себе полный стек современных технологий и способен интегрироваться в любую команду. Для работы "на галере" (агентстве или IT компании) существует особое отношение к "фулл стак". Например – это широкий охват существующих технологий в одной специализации, позволяющей проводить сложные задачи программирования функциональности в различных проектах.
Второй – это специалист, имеющий стек знаний и навыков, позволяющих создать сайт «под ключ». От идеи, анализа и планирования, до выполнения всех этапов разработки: дизайна и вёрстки, программирования, настройки хостинга, SEO и публикации контента. И способный обеспечить сайт (свой продукт) максимальной комплексной поддержкой, качественной seo оптимизацией и эффективный поисковым продвижением. Хороший специалист с таким широким охватом навыков нужен конкретному бизнесу и нужен постоянно.
Первый специалист – нужен "галере" (компании разработчиков)
Он способен решать сложные профильные задачи в разных проектах. Но дизайн, вёрстка с оптимизацией под тесты скорости PageSpeed Insights и Core Web Vitals, разнообразие технологий SEO, работа контентом и комплексная поддержка сайтов – это не его профиль.
Второй специалист нужен уже конкретному бизнесу постоянно
Он способен анализировать ситуацию и организовать выполнение множества постоянно существующих задач сайта. Отсутствие глубоких навыков в разработке сложных программных решений компенсируется тем, что они нужны редко (и один раз). А весь комплекс остальных навыков нужен всегда и постоянно. Большинству сайтов малого и среднего бизнеса не нужны сложные программные разработки. Достаточно общих знаний программирования для интеграции множества (существующих) готовых программных решений по доступной цене.
В конечном итоге, именно конкретный бизнес и платит за выполнение своих задач. Либо комплексному специалисту (с полным набором необходимых навыков), либо "коллективу специалистов". В коллективе будет дороже. Так как расходы на регулярные зарплаты, расходы на офис, налоги компании, прибыль для руководства – всё это обеспечивается рентабильностью бизнеса в цене продукта и услуг.
А вот оценка уровня квалификации "full-stack" специалиста с реальным опытом – это непростая задача для конкретного бизнеса.
Сейчас успешность бизнеса в конкурентной среде очень сильно зависит от сайта (целевая аудитория, продажи, механизмы привлечения клиентов и покупателей в интернете). А успешность сайта зависит от навыков того, кто будет заниматься его созданием, продвижением и развитием.
Full-stack web developer – это один человек, который способен выполнять множество задач сайта коммерческой компании. В моём случае – это опыт сотни проектов (с 1999 г.) и самый полный комплекс услуг поддержки сайта:
- Анализ спроса и конкуренции,
- Формирование требований к сайту, его структуре и оптимизации;
- Разработка качественного дизайна (с презентационной анимацией);
- Адаптивная вёрстка (под требования Core Web Vitals и SEO);
- Программирование и интеграция программной платформы;
- Настройка хостинга (почта, домены, платежи) и его оптимизация под SEO;
- Техническая поддержка и резервное копирование;
- Контент менеджмент, оптимизация и вёрстка контента под SEO;
- Подготовка изображений (первичная публикация);
- Работа с сервисами индексации поисковых систем, прохождение тестов (контроль и устранение ошибок индексации);
- Комплексное продвижение сайта;
- SMM политика сайта и аккаунтов;
- Фотосъёмка для сайта и для социальных сетей;
- Разработка дизайна и эксклюзивного оформления для разделов сайта, «лендинги» с оформлением для популярных целевых страниц сайта;
- Внедрение новой функциональности и обновление программных компонентов;
- Сбор статистика, аналитика и планирование;
- Реклама (подготовка и проведение компаний).
Почему бизнесу выгоден именно Fullstack web-разработчик?
- Один человек c таким набором навыков дешевле услуг агентства с разными специалистами и другими расходами компании (вложенными в счёт), а с учётом полного комплекса услуг поддержки и продвижения – это регулярные расходы.
- Возможность ввести специалиста в штат компании (под трудовой договор) и не беспокоиться о необходимости передавать всю маркетинговую политику вашего бизнеса (данные, планы и методику продвижения, данные статистики, политику конкуренции) сторонней организации. Которая всегда может реализовать успешные наработки (опыт вашей компании) и использовать эти данные для создания сайта конкурентам.
- Отсутствуют потери времени на согласования в коллективе и проще проводить организационные процессы. 1 человек работает с вашим проектом постоянно.
- Комплексный специалист с набором знаний в разных областях способен «видеть в целом» вашу ситуацию (политику конкурентов, изменения алгоритмов и требований поисковых систем, специфики работы сервисов). Это позволяет анализировать и планировать политику вашего бизнеса ещё до появления проблем с сайтом. Формировать новые требования к сайту и максимально быстро разрабатывать решения.
- Руководству бизнеса практически невозможно контролировать ситуацию с регулярной сменой технологий в IT сфере (формировать задачи, заказывать и контролировать их исполнение). Без знаний в области технологий такая ситуация маловероятна. По этой причине большинство бизнес-сайтов отстают от новых требований рынка и сосредотачиваются только на рекламе. По этой же причине бизнесы стремятся получить fullstack специалиста в постоянный штат компании. Это причина роста спроса на fullstack web-разработчиков у HH-агентств (которые могут оценить реальную квалификацию и опыт специалиста для задач вашей компании).
Ответы на вопросы и комментарии:
Но большинство Fullstack "одиночек" не могут охватить все тонкости программирования сложных проектов, требующей высокой специализации! В этой ситуации больше возможностей у специализированного программиста или агентства...
Ответ:
Разумеется! Но задачи по разработке сложных программных решений возникают далеко не у всех сайтов. Подавляющее большинство коммерческих сайтов основаны на готовых стандартных программных платформах (с огромным выбором вариантов для модернизации). Разработки индивидуальных или сложных программных решений – это всегда разовые задачи (создаётся один раз и работает всё время). Именно такую задачу дешевле и выгоднее оплатить один раз, чем оплачивать поддержку и продвижение всего сайта в агентстве. Например, купить готовый продукт (модуль) или заказать разовую индивидуальную разработку.
Fullstack Dev – это такой «на все руки мастер»?
Ответ:
Не совсем… Важно не просто многое уметь. Главное – это способность обладать достаточными навыками для хорошего выполнения задачи целиком, без привлечения других специалистов.
Для web разработок можно даже встретить старое определение, что это фулстек специалисты способные разрабатывать проекты, как на стороне сервера (backend), так и на стороне пользователя (интерфейсы в frontend). То есть – это набор навыков, достаточных для выпуска сайта… Сейчас такой навык дают даже бесплатные автоматизированные CMS платформы со стандартными шаблонами дизайна.
Но одной только публикации работающего сайта недостаточно для коммерческих задач большинства компаний. Для выхода на спрос в условиях конкуренции необходимы навыки SEO продвижения и комплексной поддержки проекта. Бизнесу нужно не само наличие сайта, а целевая аудитория клиентов или покупателей, которую сайт способен привлекать (выполнять маркетинговые задачи).
Это просто хороший веб-программист?
Ответ:
Для работы в коллективе "галеры" – да. Хотя, понятие "хороший" весьма растяжимое и не точное. В веб разработке хороший программист может иметь огромный стек навыков для разработки сложной функциональности сайта, но не понимать специфики и современных требований SEO. Есть множество примеров сложных сайтов, но не способных эффективно проходить современные тесты скорости загрузки Core Web Vitals 2021 (обязательные для индексации каждой страницы сайта).
Или другая ситуация – хороший программист не сможет сделать хороший дизайн. И даже не будет пытаться, а возьмёт (закажет) стандартный шаблон. Этого достаточно для создания сайта. Но у такого сайта (без качественного оформления) нет целого ряда конкурентных преимуществ, влияющих на лояльность аудитории и на "поведенческий фактор" современных поисковых алгоритмов (см. Эффект Ресторфф). Многие сайты сейчас выглядят одинаково и примитивно, хотя задача создания сайта с программной функциональностью выполнена. И "хороший программист" может утверждать, что он – fullstack. Но множество навыков, регулярно необходимых для выполнения различных задач поискового продвижения сайта в конкурентной тематике, важнее навыков "хорошего программиста". Комплексные задачи SEO и SMM маркетинга нужно решать постоянно. С развитием технологий и современных требований бизнеса, далеко не многие способны предоставить полный стек услуг, который необходим для постоянной поддержки и продвижения сайта.
Нужны консультации или проектирование сайта?