Senior Frontend Developer в EMEX

Прямой работодатель  EMEX ( emex.ru )
Сеньор
Информационные технологии • Разработка • Frontend • JavaScript • TypeScript • React • Ecommerce
12 февраля
Удаленная работа
Опыт работы любой
Работодатель  EMEX
Описание вакансии

Привет! Меня зовут Олег, я руковожу front-end разработкой в группе компаний EMEX и ищу Senior Frontend Developer в свою команду.

О компании EMEX

EMEX — международный холдинг, который включает торговый, доставочный и информационный бизнесы: торговая площадка EMEX.DWC в ОАЭ, логистический оператор HWC, и EMEX.ruпервый профессиональный маркетплейс автозапчастей в России.

  • Наша цельэкспансия на новые рынки: мы работаем над созданием глобальной доставочной и информационной сетью. Мы представлены на рынках Ближнего Востока и СНГ, и исследуем, куда выходить дальше: мы рассматриваем как развивающиеся рынки, например, в африканских странах. Так и развитые — в европейских странах.
  • EMEX — стабильный бизнес: на протяжении 20+ лет мы прибыльны каждый квартал. Сейчас у EMEX $500+ миллионов годового оборота, и мы продолжаем активно расти.

О команде

Команда твоего проекта (emex.ru) состоит из 8 человек: 3 backend, 1 frontend, 2 QA, teamlead, product manager. Вместе мы занимаемся разработкой новых фич, доработками, закрытием техдолга и оптимизацией.

О технологиях и процессах в разработке

Новые продукты мы разрабатываем в стеке React JS + C# .NET LTS + PostgreSQL:

  • Для взаимодействия с пользователем разрабатываем web-приложения на Next.js, работа с состоянием через Redux/react-context, но рассматриваем разные варианты. Взаимодействуем с бэком через http/rest, web-socket, signalR. Общие компоненты распространяем через свой npm manager. Наши web-приложения:
    • масштабируемые и с низким временем отклика, т.к. операции сканирования и обработки должны выполняться мгновенно.
    • кросс-платформенные и должны работать на смартфоне, PPC (КПК), laptop и desktop;
    • мультиязычные т.к. используются по всему миру;
    • интерактивные — звуковое сопровождение, сканирование штрих-кодов, фотографирование и т.п.;
  • Серверную часть разрабатываем на C# .NET LTS. Придерживаемся микросервисного подхода при разработке, хостим сервисы в docker. Для доступа к данным используем linq2db. Общий код и контракты распространяем через nuget пакеты. Для сбора логов и анализа используем elastic и posthog. Для конфигурирования используем consul. В качестве хранения данных используем PostgreSQL. Для межсервисного взаимодействия используем Kafka или RabbitMQ.
  • Задачи команда ведет на доске в Azure DevOps Server (TFS). В качестве системы контроля версий используем Git в Azure DevOps Server. CI/CD настраивается там же. Организацией, развертывания сервисов, сайтов и организацией тестовых стендов занимается команда Dev/Ops.
  • Документацию ведем в Notion и в репозитории.

Как мы работаем над продуктами?

  • Задачи ставятся владельцем продукта и проходят архитектурную экспертизу, где конкретизируются функциональные и системные требования.
  • Далее задача прорабатывается вместе с владельцами, архитекторами и лидами других команд. В проработку задачи входит - закрытие белых пятен в требованиях от владельца и архитекторов, обсуждение будущих макетов сайтов, мобильных или десктоп приложений вместе с дизайнером в Figma, прототипирование - если это необходимо. В результате появляется оценка длительности, трудоемкости и стоимости задачи.
  • Команды работают двухнедельными итерациями: первый день — планирование, последний — демо.
  • До выпуска в “бой” проводим тестирование в нескольких окружениях.
  • Команда работает удаленно из разных регионов РФ и стран, но в московском часовом поясе.

При разработке новых продуктов используем современный стэк, выделяем время для работы с техдолгом, перехода на новые версии или прототипировании новых подходов.

Кого и зачем мы ищем

Сейчас мы в поиске опытного React разработчика на наш существующий проект Emex (маркетплейс), где сначала нужно будет заниматься техдолгом и оптимизацией, вести документацию, предлагать решения и идеи по улучшению продукта.

Помимо этого, в компании существует несколько frontend проектов, и параллельно мы создаём новые. Мы разрабатываем общие решения для компании: есть корпоративный линтер стилей и JS, свой ui-kit, npm-пакеты. Погрузившись в один проект, автоматически понимаешь все остальные и присоединяешься к работе над ними.

Тебе нужно будет

  • Участвовать в разработке высоконагруженного продукта – каждый день через emex.ru проходит 35-40k заказов;
  • Участвовать в разработке новых и поддержке существующих frontend приложений (SPA, ui-kit, npm-пакеты);
  • Проводить code review и контролировать качества кода;
  • Вести документацию по проекту: мы пишем либо в Notion, либо ADR;
  • Заниматься исследовательскими задачами — мы всегда ищем варианты для развития, пробуем что-то новое, ставим эксперименты. По результатам принимаем решения - стоит внедрять какую-то технологию или нет.

Цели, которые будут стоять перед тобой в ближайшие 3 месяца

На первом этапе у тебя будет один большой проект, который нужно поддерживать и разрабатывать новые фичи. Тут ты сможешь погрузиться в проект, наши процессы

Через 3 месяца:

  • Разбираешься в проекте Emex, можешь писать новые бизнес фичи, фиксить текущий код;
  • Понимаешь и знаешь как мы пишем frontend в компании;
  • Изучил наши документы в Notion, понимаешь специфику ведения документации по проекту: где, как и когда стоит ее вести;
  • Освоился в Azure, понимаешь как поднимать стенды, где лежат репозитории проектов.

Как понять, что ты подойдешь

  • Ты уже больше 5 лет работаешь над коммерческими проектами на React: знаешь основы и тонкости работы с данным фреймворком, понимаешь, как он работает под капотом;
  • У тебя есть опыт работы/понимание как работать с Next.js, а также ты готов разобраться в новых фичах и последних версиях Next.js;
  • Умеешь писать документацию быстро и без негатива - мы не пишем документы просто так, этот пункт не означает, что всегда приходится писать много. Документация в нашем случае - это способ поделиться решениями, опытом, ADR;
  • Работаешь и имеешь глубокую экспертизу по стеку: typescript, next.js, react, redux, redux-toolkit, redux-saga, jest+rtl.

Будет плюсом:

  • Опыт с Docker, Azure (написание pipeline);
  • Опыт работы с C#;
  • Знаком с microfrontends: понимаешь проблему общего состояния, можешь предложить хорошее решение.

Что мы можем предложить

  • Ты можешь развиваться как разработчик вместе с нашим быстрорастущим продуктом и решать неординарные проблемы.
  • У тебя будет возможность решать задачи так, как ты посчитаешь эффективным. Если твои решения целесообразны, мы предоставим тебе все необходимые ресурсы.
  • Ты будешь участвовать в создании продукта, с которым работают пользователи в разных регионах мира.
  • Мы сторонники горизонтальных коммуникаций: каждый в нашей команде, начиная с фаундеров, открыт к общению, готов ответить на возникающие вопросы и поделиться тем, что знает сам; любой специалист может обратиться к руководителю напрямую.
  • Забота о сотрудниках. Мы внимательно относимся друг к другу и готовы помочь решить проблему. Например, если обстоятельства вынуждают сотрудника переехать в другой город или страну — мы всегда открыты к диалогу. Если ты работаешь в РФ, мы сможем обеспечить тебя ДМС и предоставить всю необходимую технику для работы.
  • Сотрудники EMEX самостоятельно выбирают где работать: уже много лет мы поддерживаем удаленный формат работы (по времени ориентируемся на московский часовой пояс). Во-первых, мы не контролируем рабочие часы — для нас важен результат. Во-вторых, ты можешь работать, находясь за пределами России, оформив договор с офисом нашей компании в Дубае.

Специализация
Информационные технологииРазработкаFrontendJavaScriptTypeScriptReact
Отрасль и сфера применения
Ecommerce
Уровень должности
Сеньор
Загрузка формы отклика...