Мы — команда front-end разработчиков. Специализируемся на визуально сложных проектах, используем современные технологии, внимательно относимся к деталям и профессионально работаем с анимациями. Ищем front-end разработчика для работы над проектами уровня Awwwards и The FWA. Работа удалённо, фултайм. Предлагаем интересные и известные проекты, с которыми вы можете ознакомиться у нас на сайте. Что делать:
Разрабатывать сайты и веб-приложения с нуля Дорабатывать существующие проекты Работать как в паре с верстальщиком так и самостоятельно Работать над проектами российских и зарубежных компаний Работать в команде
Общие требования:
Наличие портфолио обязательно Знание способов оптимизации производительности и потребления памяти Критическое отношение к качеству собственного кода, нормальное отношение к необходимости переписывания с нуля 3000 строк кода для достижения лучшего результата Действительно внимательное отношение к мелочам и проработке эффектов Хороший уровень владения базовым и техническим английским Отсутствие любви к jQuery Желание научиться много чему ещё и представлять, чему именно GIT
Требования к вёрстке:
Опыт кроссбраузерной, адаптивной вёрстки Отличное знание HTML5, CSS3 Любить и использовать технологии для ускорения front-end разработки (у нас SASS/SCSS, PostCSS, Gulp, Webpack) Понимание и использование методологии БЭМ
Требования к JavaScript:
Отличное знание JavaScript как чистого, так и библиотек и фреймворков Умение написать свой EventDispatcher за 10 минут Умение написать свою реализацию Signal-ов за 10 минут Умение написать простейший твинер за 10 минут Знание базовых типов объектов в JavaScript и результатов их взаимодействия Понимание разницы и смысла методов preventDefault и stopPropagation Знание событийной модели элементов страницы Знание последовательности процессов на странице при загрузке и взаимодействии Знание requestAnimationFrame, зачем это нужно и для чего используется, понимание отличия от setInterval Знание таких аспектов как замыкание, наследование, делегирование Понимание разницы между интерполяцией и экстраполяцией Понимание разницы и умение использовать throttle и debounce Понимание разницы между «var test = function(){}» и «function test(){}» Прекрасное знание тригонометрических функций и их практического смысла Знание что такое вектор и основных операций с ним Моментальное решение задачи нахождения угла наклона условного луча от элемента до положения курсора мыши (в движении и на чистом JavaScript) Умение работать с TweenMax / Draggable / TimelineMax (GSAP) Понимание работы и смысла изинг-функций Умение работать с Three.js, понимание иерархии объектов сцены, текстурирования, освещения, моделирования и т.д. Понимание работы и смысла шейдеров, в идеале умение писать свои шейдеры Знание Canvas API не понаслышке В большой плюс знание PIXI, опять же, не понаслышке Умение работать с медиафайлами, как в плане обработки и подготовки материалов, так и в плане интеграции на страницу и управления ими Умение работать с svg на странице, знание нескольких способов подключения Внимательное и скрупулезное отношение к структуризации кода, логике взаимосвязей модулей
Опциональные требования:
Большим бонусом будет понимание основ управления поведениями (steering behaviors) Большим бонусом будет понимание основ физических движков (интегрирование Верле и т.д.) Большим бонусом будет знание бинарной арифметики (& | << >> ~) Большим плюсом будет умение работать с анимациями (Adobe Flash / After Effects etc.) Отсутствие боязни написания своих кастомных компонентов при существовании множества унифицированных решений / плагинов Здравое отношение к тому, что не всё из этого списка вам знакомо
Условия:
Удалённая работа с графиком 10-19 по Москве Задачи и проекты от известных клиентов Отличная команда и адекватное руководство Возможность стать тимлидом в команде Зарплата по результатам собеседования
В сопроводительном письме напишите, пожалуйста, максимально развернуто о своих интересах. Нам важно понимать, чем вас привлекла вакансия, почему вы решили откликнуться, какие задачи из перечисленных вам уже приходилось выполнять и какие будут для вас новыми.