Что вообще значит «full stack»?
Содержание:
- Особенности профессии
- Прикладные скиллы для Full-Stack Developer
- Варианты языка JS
- Кто такой фулстек-разработчик и чем он занимается
- Что нужно знать, чтобы стать Python-разработчиком?
- Где найти full stack программиста на проект?
- Обучение на фулстек
- Особенности профессии
- Топ 14 лучших онлайн курсов fullstack-разработчиков для начинающих и профессионалов
- Чем он занимается
- Чем занимается разработчик
- Кто такой fullstack-разработчик
- Работа fullstack-дизайнером
Особенности профессии
В обязанности fullstack-разработчика на PHP входит решение следующих задач, которые зависят от проекта и требований работодателя:
- разработка новых продуктов;
- развитие уже существующих продуктов;
- верстка макетов;
- серверная настройка ПО;
- работа с фреймворками;
- устранение ошибок, допущенных другими разработчиками;
- анализ структуры проекта.
Fullstack-разработчику на PHP по силам брать на себя решение сразу нескольких задач. Например, для разработки сайта веб-агентство привлекает веб-дизайнера, программиста, верстальщика, тестировщиков, JavaScript-разработчика для реализации анимации – это дорого и медленно. Многие предпочитают нанять одного человека, который выполнит весь цикл работ без срывов сроков и ошибок. Услуги fullstack-разработчика на PHP стоят дорого, но дешевле, чем наем целой команды.
Прикладные скиллы для Full-Stack Developer
Важно осознавать, что программирование связано и с другими отраслями, смежными науками. Вам может показаться, что то, что вы учили на высшей математике, не пригодится вам в жизни
Но опыт разработчиков показывает, что очень даже пригодится.
Вам может показаться, что то, что вы учили на высшей математике, не пригодится вам в жизни. Но опыт разработчиков показывает, что очень даже пригодится.
Особенно необходимо выделить математический анализ.
Приведу реальный пример «ненужных знаний», которыми часто пренебрегают студенты, думая что они не понадобятся.
То есть все знания можно нужно использовать по максимуму. Не стоит пренебрегать базовыми понятиями в математике, даже самой скучной теорией.
Варианты языка JS
Современный JavaScript можно писать в нескольких вариантах:
- ES5
- ES6 / ES7 next
- Языки компилируемые в JS (TypeScript и другие)
Стандарты JavaScript
-
ES5 — версия JavaScript от 2009 года, полностью поддерживаемая всеми современными браузерами и Node.
-
ES6 — недавнее утвержденное обновление языка. Разработка поддержки стандарта всех JS движках пока еще в процессе разработки.
- ES7 / Next — еще не утвержденные новые фичи JS.
Взглянуть на текущее состояние поддержки ES6 можно наKangax ES6.
Таким образом, в ближайшее время разрабатывать клиентскую часть сразу на ES6 нельзя, потому что поддержки во всех браузерах еще нет.
Для Node используется V8 движок, текущая стабильная LTS версия которого (4.x) не поддерживает все новые особенности ES6.
LTS (long term support) это версия NodeJs, рекомендуемая для использования на продакшeне. Следующая LTS Node ожидается в октябре 2016 и в ней уже есть поддержка большинства возможностей ES6.
Транспайлинг (transpiling)
Для того чтоб бы использовать фичи ES6/ES7 существует несколько транспайлеров которые преобразуют код написанный на ES6 в ES5.
Обратите внимание на разницу между транспиляцией и компиляцией: тут. Babel самый популярный транспайлер из ES6/Next в ES5
Babel самый популярный транспайлер из ES6/Next в ES5.
TypeScript
TypeScript это язык расширение JavaScript, которое добавляет возможность статической типизации. Типы в TypeScript используются для проверки корректности кода и дополнительных возможностей рефакторинга и авто-подсказок. Когда TypeScript транспилируется в JS, все определения типов опускаются.
TypeScript поддерживает многие ES6/ESNext возможности и может использоваться как Транспайлер (вместо Babel).
Кроме того в TypeScript существуют дополнительные конструкции, которых нет в JS — энумы, наследование и полиморфизм в классах и прочее. Они транспилируются в JS с помощью вспомогательного JS кода.
Не все возможности TypeScript одинаково полезны перечислю основные категории:
-
Транспиляция ES6/ESNext — TS отлично с этим справляется, хотя и уступает Babel в некоторых моментах, например async/await в TypeScript пока только доступно если транпилировать в ES6 версию. Больше об этом в следующей статье.
-
Статическая типизация в коде приложения — это основная причина использовать TS, типы в TS опциональны, если тип не указан, предполагается тип «any», что значит в этот тип можно записать и прочитать из него любые поля, это делает перевод существующего кода JS на TS, гораздо легче, не нужно добавлять типы везде, а только там где это имеет смысл. При этом даже если вы не описываете типы в TS, у вас появляется много дополнительных проверок, которые помогают обнаруживать тривиальные ошибки-опечатки, еще до того, как вы запускаете приложение. Дополнительно у вас хорошо работают подсказки в коде и не нужно лишний раз смотреть какие методы есть у модуля и какие у них сигнатуры.
-
Типизация сторонних библиотек — TS позволяет описывать структуру сторонних библиотек (например lodash иди express), это позволяет контролировать, что вы вызываете методы с правильными параметрами и позволяет видеть методы и их сигнатуры без использования документации. К сожалению качество таких описаний часто оставляет желать лучшего и когда в описании нет нужной сигнатуры ее нужно добавлять вручную. Иногда легче не использовать сторонние описания (работать с библиотекой как с типом «any»). Проблема в том, что сейчас описания библиотек в TS и сами библиотеки чаще всего пишут разные люди. Скорее всего ситуация будет улучшаться с ростом популярности TS.
- Возможности TS, которых нет в JS — это я бы не рекомендовал к использованию без необходимости или если вы не используете фреймворки написанные непосредственно на TS (например Angular2). Использование таких возможностей делает конвертацию TS<->JS гораздо сложнее, они чаще изменяются между разными версиями TS.
Что выбрать
Я бы рекомендовал выбирать между ES6 и TypeScript. ES6 имеет очень много полезных дополнений, которые делают разработку легче и приятнее и это стоит того, чтобы потратить больше времени на первоначальную настройку. На своих проектах я перешел на TypeScript, потому что это действительно серьезно улучшает процесс разработки, хотя и требует гораздо больших усилий по настройке и интеграции. Что бы вы не выбрали, хорошо если вы делаете осознанный выбор, поработав и с тем и с другим.
Кто такой фулстек-разработчик и чем он занимается
Фулстек-разработчик — это программист, который работает и с backend, и с frontend. Благодаря этому он может активно участвовать во всех этапах создания проекта, начиная с его проектирования, и заканчивая релизом с последующей поддержкой.
Бэкенд — это программно-административная часть проекта, которую не видит конечный пользователь, но от неё зависит всё, что есть на сайте или в приложении. Разработка в бэкенде происходит преимущественно на серверах проекта. Если “невидимая” часть проекта сделана хорошо, то сайт или приложение работают быстро и включают в себя все функции, которые были в планах. Подробнее о профессии бэкенд специалиста.
Фронтенд — это интерфейс и всё, что видит и с чем взаимодействует конечный пользователь. От работы frontend-специалиста зависит, насколько сайт или приложение удобны в использовании. Так как этот разработчик взаимодействует непосредственно с внешним видом проекта, то он частично отвечает и за дизайн. Подробнее о профессии фронтенд специалиста.
Некоторые работодатели ищут узкоспециализированных работников, например, full stack разработчика Python или JavaScript. В такой ситуации от специалиста требуется умение работать в обозначенном языке программирования как по серверной, так и по пользовательской части. Но и в таких профессиях без знаний дополнительных языков программирования и прочего не обойтись. Приписка конкретного языка просто показывает, какой именно основной инструмент используют в веб-студии/компании.
В основном под профессией Full stack разработчика подразумевается именно широкопрофильный программист, который знает:
- Языки программирования JavaScript, Python, C++, PHP, Ruby, Perl и другие (необязательно все, лишь некоторые из списка в зависимости от типа проекта);
- Языки веб-разметки HTML и CSS;
- Фреймворки Symfony, Codeigniter, Yii, Zend Framework, Kohana (также не все, а некоторые из);
- Программную платформу Node.js (для тех, кто программирует на Java Script);
- Язык данных SQL;
- jQuery (API для JavaScript);
- Контроль версий Git;
- CMS (например, WordPress).
Это основные требования к большинству вакансий. Конкретный список обязанностей зависит от типа проекта, и от работы, возложенной на сотрудника. Например, если это руководитель проекта, то он должен как минимум разбираться во всем вышеперечисленном, уметь проектировать архитектуру проекта, составлять документацию, отвечать за кроссбраузерную совместимость и многое другое.
Отметим, что фулстек-разработчик очень ценится и крайне востребован, особенно, если это опытный человек с большим стажем работы. Профессионала с подобными навыками могут взять в качестве тимлида (глава команды разработчиков) или архитектора проекта, а также он способен в одиночку довести сайт начиная от идеи, и заканчивая релизом. Естественно, чтобы стать таким престижным программистом, необходимо пройти длительное и нелегкое обучение на full stack разработчика.
Что нужно знать, чтобы стать Python-разработчиком?
Учиться нужно постепенно: сначала освоить базу любого программиста — HTML, CSS и Javascript. HTML и CSS отвечают за расположение элементов на веб-странице и информацию о стиле: шрифты, начертание текста, отступы, Javascript добавляет интерактива: на этом языке можно вписать в страницу анимированные элементы. Это уровень верстальщика — первая ступень разработки.
Следующая ступень — фронтенд, создание внешней оболочки сайта и разработка взаимодействия пользователя и сайта. Можно остаться на ней, но если хочется большего — например, создать собственное приложение, развернуть сервер, написать свою CMS, — здесь подключается бэкенд, то есть серверная часть. Чем дальше, тем чаще для написания бэкенда используют именно Python, а не привычный PHP.
Что нужно знать будущему фулстек-разработчику:
- Основы Python: как писать код, как подключать библиотеки и работать с разными видами файлов.
- Как работают фреймворки. Это программы, которые облегчают создание бэкенда и его базовой логики. Они связывают в одну систему URL-адреса, части кода на Python, базы данных и HTML-страницы. Самые популярные фреймворки для работы с интерактивными сайтами сегодня – это Bootstrap и Django.
- Как подключить базу данных при помощи SQL. Чтобы сервис отвечал требованиям бизнеса, он должен собирать данные о клиентах. Для этого нужно знать, как именно их собирать, хранить и передавать. Это задачи для языка SQL.
- Работа с docker-контейнерами и ОС Linux. Контейнеры помогают упаковать приложение вместе со средой запуска в файл, который без проблем откроется на другом компьютере. Так вы сможете передавать приложение заказчику безопасно и просто. А разворачивать сервер, на котором будет работать ваше приложение, будете на Linux — для этого нужно понимать, как работает эта система.
Перечисленные навыки можно получить за 9-12 месяцев на комплексном курсе и чуть дольше – собирая материалы самостоятельно. Набрав базу для уровня junior, за два года практики вы сможете стать уверенным миддлом.
Где найти full stack программиста на проект?
- Добавьте проект на биржу для программистов. Это доска объявлений, где можно публиковать вакансии удаленной работы или фриланса. Добавление проектов бесплатное!
-
Посмотрите резюме специалистов в каталоге программистов. Там можно найти веб-программистов, программистов баз данных, а также людей, владеющих широким стеком технологий. Пользуясь фильтрами, вы сможете найти специалистов с нужными параметрами.
Рекомендуем
Профессия инженер по схемам
Отрисовка схем и чертежей с набросков заказчика в формат по ГОСТ.
Суть профессии инженера по схемам:
Начальная ступень работы инженером, …
Профессия модератор
Модератор – это относительно простая, но ответственная работа в интернете. Она подойдет внимательным и уравновешенным людям, которые любят …
Обучение на фулстек
Обучение на фулстек-разработчика нельзя ограничить одним типом изучения профессии. Рекомендуется совмещать любое обучение с самообразованием. В идеале начать учиться с ВУЗа, после чего подтянуть необходимые знания собственноручно. Можно использовать только бесплатные учебные материалы, а можно пройти платные онлайн-курсы.
Методы обучения зависят от предпочтений и финансовых возможностей каждого, но важно, что при должном усердии можно стать full stack программистом не потратив ни копейки, либо потратив небольшую сумму
Высшее образование
Специальности “Full stack-разработчик” в российских ВУЗах не существует, но большинство программ обучения, которые связаны с программированием и веб-разработкой, подойдут для изучения многих языков и прочих составляющих профессии.
Ознакомиться с конкретными специальностями можно на сайте Postupi.Online по запросу “Программист”, “Разработчик web” и “Web-программист”. На сайте перечислены ВУЗы, программы обучения, колледжи и статьи о профессии
Конечно, подойдут не все специальности из вышеперечисленных запросов, поэтому описанию каждой нужно уделить внимание
Онлайн-курсы
Самый эффективный тип обучения (тем более в таком сложном направлении) — онлайн-курсы. Качественное онлайн-образование подразумевает изучение специальности с нуля и минимум до среднего уровня. Престижные школы и академии оказывают помощь в поиске работы и составлении резюме.
3 качественных онлайн-курса фулстек разработчика:
1. “Профессия Fullstack-разработчик” на Skillbox
3 специализации на выбор: PHP, JavaScript, Python. Дипломная работа в конце обучения по выбранной специализации.
Ссылка на курс и информация об обучении: https://skillbox.ru/course/profession-fullstack-dev/
Еще один курс для тех, кто хочет специализироваться на JavaScript: https://skillbox.ru/course/profession-fullstack-js/
2. “Факультет Fullstack JavaScript” от GeekBrains
Программа обучения длительностью в 15 месяцев, которая затрагивает не только язык программирования JavaScript, но и все смежные инструменты и среды разработки.
Ссылка на курс и информация об обучении: https://gb.ru/geek_university/fullstack-javascript
3. “Курс Python для веб-разработки” на SkillFactory
Обучение проходит 9 месяцев. В него входит персональный ментор, практические задания и финальные проекты в виде двух сайтов и двух веб-сервисов.
Ссылка на курс и информация об обучении: https://skillfactory.ru/python-for-web-developers
4. Онлайн-курс “Full stack разработчик” от Loftschool
Программа обучения, которая длится 11 месяцев. За это время ученик освоит как фронтенд, так и бэкенд. По окончанию обучения у студента будет 11 объемных выпускных проектов. Также имеется обратная связь с практикующим разработчиком. Есть рассрочка от 3 до 36 месяцев.
Подробная информация и ссылка на курс: https://loftschool.com/professions/fullstack-developer/
Udemy
Если обучение в онлайн-школах для Вас слишком длительное и дорогое, то Вы можете приобрести недорогие курсы на платформе Udemy. Здесь есть множество различных курсов по теме в основном на английском языке, но на русском тоже встречаются (пользуйтесь фильтром).
Ссылка на платформу Udemy с курсами по Fullstack: https://www.udemy.com/courses/search/?q=fullstack%20developer&src=sac&kw=Fullstack
Самостоятельное обучение
Такая сложная специальность тяжело осваивается при самообучении и без начальных знаний. Несмотря на это, изучить профессию с нуля возможно.
В этом случае важно следовать хотя бы примерному плану обучения, и самое главное, не учиться новому языку/инструменту до тех пор, пока предыдущий не будет изучен до должного уровня. Дисциплинированным людям с системным мышлением отлично подойдет самообразование, а если оно подкреплено соответствующей специализацией, полученной в ВУЗе, то учиться будет значительно легче
Качественные материалы для самостоятельного изучения профессии:
- Статья по обучению Frontend;
- Учебник по JavaScript на русском;
- Обучение JavaScript для новичков на Youtube-канале Дмитрия Лаврика;
- Полезная карта обучения для web-разработчика;
- Курс Node.js по бэкенду;
- Процесс создания фулстек приложения на JavaScript;
- Руководство по Git для начинающих;
- Видеокурс по HTML и CSS на русском;
- Видеокурс по React на русском;
- Уроки по Python для начинающих от Гоши Дударя на его YouTube-канале;
- Курс по SQL на русскоязычном Ютуб-канале.
Особенности профессии
Язык программирования Python, на котором может работать fullstack-разработчик, в последние несколько лет приобрел широкое распространение. Это неудивительно, ведь он обладает рядом плюсов:
- синтаксис Python’а понятен даже для новичка, что обеспечивает низкий порог вхождения;
- язык логичный и лаконичный, поэтому процесс разработки несложный;
- мощная поддержка со стороны сообщества программистов;
- средний уровень популярности, но этого достаточно, чтобы fullstack-разработчик на Python всегда был обеспечен заказами;
- широкая сфера применения, в том числе и в машинном обучении;
- доступно большое количество библиотек;
- надежный и хорошо читаемый код.
Fullstack-разработчик на Python принимает участие в создании разных видов игр, чат-ботов, сервисов телемедицины, целевых страниц, сайтов и веб-приложений, алгоритмов машинного обучения – объем его компетенций большой. Для работы в этой сфере потребуется опыт программирования, многие работодатели заинтересованы в специалистах, которые не только умеют читать чужой код, но и способны его исправлять. Fullstack-разработчик на Python занимается созданием продуктов, их поддержкой, а иногда и проджект-менеджментом.
Топ 14 лучших онлайн курсов fullstack-разработчиков для начинающих и профессионалов
По давно сложившейся традиции, разработчики делятся на тех, кто занимается frontend (интерфейсом) и backend (внутренней составляющей продукта). Однако в последнее время востребованными становятся универсальные специалисты Full-stack. Эти мастера разбираются во всем стеке технологий и применяемых компонентов. Имея в багаже подобную квалификацию, можно без опаски менять сферу деятельности и без проблем находить высокооплачиваемую работу.
Для выхода на данный уровень придется немало потрудиться и, в первую очередь, получить соответствующее образование. Чтобы при этом минимизировать временные затраты, стоит обратиться к дистанционным образовательным сервисам.
Мы собрали лучшие онлайн-курсы по fullstack-разработке для удаленного обучения. Есть как бесплатные уроки для начинающих, так и профессиональные образовательные программы с выдачей сертификатов, дипломов и помощью в трудоустройстве.
Чем он занимается
Единого мнения на счет фулстек-разработчика и его функций нет. Кто-то даже считает, что такой должности вовсе не существует. Поэтому и в вакансиях пишут всегда разные должностные обязанности.
В задачи fullstack-специалиста может входить:
- Планирование, управление и реализация проекта на определенном языке программирования.
- Переговоры с клиентами.
- Тестирование готовой интернет-платформы и отладка багов.
- Контроль качества сайта или приложения.
- Техническая поддержка всех специалистов, работающих над веб-сервисом.
- Работа с базами данных, файловыми системами, облачными хранилищами и сетевыми ресурсами.
- Создание визуального дизайна.
Должность фулстек-программиста во многом схожа с профессией проект-менеджера. О ней вы можете прочитать в отдельной статье на блоге.
Связь с frontend и backend-разработчиками
Frontend-разработка – это создание того, что пользователь видит на веб-ресурсе. Визуальная часть создается при помощи HTML, CSS и JavaScript.
Результат backend-разработки, наоборот, скрыт от глаз обычного читателя. Вся работа с сервером, логикой сайта, базой данных входит в должностные обязанности бэкенд-программиста.
Fullstack-разработчик же трудится над задачами и первого, и второго специалистов. Он работает как с внешней, так и с внутренней сторонами веб-разработки.
10–15 лет назад не было разделения на бэкенд и фронтенд-части. И разработчики по умолчанию числились как фулстек-программисты. Да и определения этой деятельности не было, как и самого слова “fullstack-разработчик”.
Чем занимается разработчик
Задача разработчика полного стека — быть экспертом на каждом уровне разработки продукта. Поэтому он должен уметь больше, чем специалисты по разработке фронтенда и бэкенда. Fullstack-разработчик должен знать все или многие языки программирования, владеть всеми программными технологиями и уметь организовать работу каждого члена команды. Но главное — именно fullstack-разработчик в проекте отвечает за результат.
Фуллстэк-разработчик легко может заменить 2–3 программистов.
Обязанности fullstack-разработчика:
- разработка архитектуры внешнего интерфейса веб-сайта;
- проектирование взаимодействия с пользователем на веб-страницах;
- разработка серверных приложений для веб-сайтов;
- создание серверов и баз данных для работы приложений;
- преобразование макетов сайта для читабельности;
- работа с CMS и фреймворками;
- автоматизация процессов на веб-приложении;
- устранение ошибок;
- сотрудничество с графическими дизайнерами и другими программистами;
- проектирование и разработка API;
- сопровождение проекта от идеи до готового продукта и т. д.
Специалист полного стека должен обладать:
- умением работать с HTML/CSS;
- знанием языков программирования JavaScript,
- умением работать в Git и GitHub;
- отличным знанием одного из основных языков серверной части: PHP, Python, Ruby, Java;
- знанием тонкости веб-архитектуры;
- владением протоколами HTTP и REST;
- работой с базами данных;
- базовыми навыками проектирования.
А также иметь такие софт-скиллы:
Кто такой fullstack-разработчик
Этот универсальный программист может с нуля в одиночку разработать веб-продукт, от клиентской части до программного обеспечения.
Фулстек-специалист нужен компаниям, когда заказчик хочет минимизировать недопонимания и сэкономить время или деньги.
Также из соображений экономии клиент может внести в должностные обязанности не только все этапы разработки и реализации веб-сервиса, но и все остальное: продакт-менеджмент, настройку операционной системы на серверах и даже починку принтера. Так один разработчик способен заменить 3-4 программистов.
Практикующие fullstack-developer утверждают, что большинство из них раньше были узкими специалистами. В ходе работы им приходилось попадать за границу своих обязанностей и иметь дело с процессами и технологиями своих коллег. Со временем знаний и опыта становилось все больше, пока не настал момент, когда программист уже мог самостоятельно воссоздавать целый проект.
Работа fullstack-дизайнером
Будучи fullstack-дизайнером можно работать не только в студиях и компаниях, но и на фрилансе. В таком случае специалист буквально разрабатывает сайт с нуля и доводит его до конца. Так можно не зависеть от других исполнителей и выполнять работу свободно, ориентируясь лишь на требования заказчиков.
Заработок во фрилансе неограничен, а зависит лишь от количества выполненных проектов. Fullstack-дизайнер берет заказы по созданию сайта, получая от 10-15 тысяч рублей за проект. Но это лишь минимальное значение. За полную разработку сайта с нуля можно получить как 30, так и 50, 80, 100 тысяч рублей. Но крупные проекты лучше выполнять с кем-то в команде. Например, разработать онлайн-магазин без знания баз данных невозможно (если не используете движки), поэтому пригодится backend-программист.
Естественно, можно устроиться в компанию. Это либо IT/дизайн отдел в крупной организации, либо работа в студии которая оказывает услуги по разработке и дизайну сайтов. По сравнению с фрилансом здесь много командной работы и все строится на делегировании полномочий. Как раз за это fullstack-дизайнер может отвечать, ведь видит проект целиком и понимает каждый этап разработки.
Заработную плату fullstack-дизайнера выявить проблематично, потому что таких вакансий очень мало. Это связано с недавним появлением профессии. Но специалист, обладающий навыками дизайна и программирования, может претендовать на должность senior-а в дизайне, зарплата которого начинается от 90 тысяч рублей в месяц, а в среднем составляет 140-160 тысяч рублей. Также навыки fullstack-а встречаются в некоторых вакансиях продуктового дизайна.
Преимущества и недостатки
У такой широкопрофильной профессии есть свои преимущества и недостатки. На них можно опираться при выборе будущей работы, ведь эта сфера деятельности подойдет далеко не каждому.
Список плюсов:
- несмотря на отсутствие вакансий с поиском именно fullstack-разработчиков, люди с такими навыками очень востребованы;
- высокий уровень заработной платы как во фрилансе, так и в качестве сотрудника компании;
- можно работать не только в качестве fullstack-специалиста, но и устроиться веб-дизайнером/веб-разработчиком;
- есть место как для творчества, так и для логики;
- в большинстве случаев fullstack-специалист выступает в роли надзирателя над всем проектом;
- специалист всегда развивается и совершенствует свои навыки.
Перечень минусов:
огромное количество обязанностей, из казалось бы, противоположных сфер деятельности; необходимо постоянно учиться, и это принимая во внимание часто меняющиеся тренды в дизайне вместе с выходом новых инструментов в разработке; большая часть ответственности за результат проекта лежит на fullstack-дизайнере; заказчики попадаются разные, и некоторые из них сами не знают, чего хотят, поэтому работа с людьми в этой профессии скорее минус, чем плюс; работая в команде надо выстроить слаженную систему деятельности всех сотрудников, отвечая за это
Где и как найти работу
У fullstack-дизайнера нет проблем с тем, как найти работу. В первую очередь, надо посмотреть вакансии на самых популярных сайтах по поиску работы в России: HeadHunter и Trud.
Чтобы найти проекты на фрилансе и работать на себя, можно поискать заказы на сайтах: FreeLance.ru, FL, Weblancer, Freelancejob.
Мы рекомендуем искать вакансии по запросу “веб-дизайн”, обращая внимание на высокооплачиваемые варианты, так как в них много требований, которые как раз соответствуют навыкам fullstack-дизайнера. Также можно найти подходящие вакансии приписав слово “senior” и по запросу “продуктовый дизайнер”/”product design”
При этом стоить понимать, что далеко не всегда по ним будут попадаться варианты, подходящие для fullstack-дизайна.
В случае с фрилансом дело обстоит проще. Достаточно лишь осуществить поиск по сфере деятельности, выбрав категорию “Разработка сайтов”. С большинством заказов, где нужно сделать сайт и сверстать его, fullstack-дизайнер справится. В некоторых случаях дизайнерские навыки сыграют ключевую роль, так как помимо простой реализации проекта понадобится придумать его концепт, провести анализ пользовательского опыта и сделать интерфейс. Естественно, плата за такую работу будет больше, чем за простой заказ верстки на HTML.