close

Software Engineer (Node.js/React)

Проект Prom.ua  в поисках Software Engineer’a (Node.js/React)

Prom.ua — торговая площадка в Украине, более 50 000 продавцов и 120 000 000 предложений, каждая 5-ая гривна в уанете тратится на prom.ua.

Prom.ua в цифрах:

  • по нагрузке 20 млн просмотров страниц в день (162 млн событий при этом)
  • 5.5 млн запросов на поисковую выдачу
  • трафик в месяц около 60 млн сессий
  • в онлайне в пике одновременно 17к пользователей

Разработкой Prom.ua занимается 5 команд, каждая из них отвечает за свою часть проекта и сервисы. Сейчас открыта вакансия в команду Core.

Наша команда делает сервисы для core-покупателей платформы:

  • набор сервисов, реализующих чат
  • оформление заказов
  • кабинет покупателя
  • отзывы пользователей
  • сервис акций и скидок
  • персонализация выдачи в поиске

С чем работает команда Core с технической стороны?

  • Сервисы на NodeJS и Python, плюс монолитная часть на Python
  • Много клиентсайда на React плюс Redux, GraphQL или наш внутренний фреймворк управления состоянием
  • API на GraphQL или GRPC
  • Выносим части монолита в отдельные сервисы
  • Мы сами выкатываем сервисы в продакшн и мониторим их состояние

Больше подробностей про технический департамент в EVO

Основные языки программирования: Python, JavaScript, TypeScript, Golang

Монолитные части на Python написаны с использованием кастомного веб-фреймворка, Django или Flask. Новые Python-проекты начинаем на aiohttp.

Для JavaScript на бекенде используем express или koa. Все большая часть API переходит на GraphQL, поэтому регулярно подключаем Apollo Server. Значительная часть сервисов на Node.js написана на TypeScript. Фронтенд пишем в основном на React.

В основном базой данных берем PostgreSQL. В сервисах также используются MongoDB, ClickHouse. Для поиска используем ElasticSearch. Для асинхронных задач — RabbitMQ или Kafka.

CI/CD реализуем через GitLab. Продакшн работает на kubernetes (istio, prometheus, elk stack, grafana)

Куда мы стремимся:

Наша задача сделать так, чтобы пользователь хотел возвращаться и повторять покупки на нашей платформе. Поэтому мы стараемся сделать удобные и понятные пользователям продукты, которые помогают решить их проблемы. С технической точки зрения мы работаем над уменьшением зависимостей от проблем с монолитом: сложные связи, синхронизация обновлений, зависимость от других команд. Ближайшие задачи: вынести в отдельный сервис и упростить работу корзины на бекенде и большое переписывание всей системы отзывов в Prom.ua

Что важно для данной позиции:

  • знание не только React или Express, но и более глубокое понимание JavaScript, Node.js и других компонент экосистемы
  • уметь работать с Postgres, плюсом будет знание MongoDB
  • хорошо, если знаете или можете разобраться с Python — у нас его много
  • внимательность и системный взгляд
  • общаться с коллегами, слышать их мнение, уметь донести свое

Что точно будет в работе:

  • много интересных продуктовых задач
  • стендапы, планирование, спринты, ретроспективы
  • возможность попробовать что-то новое, поэкспериментировать

Как у нас проходит подбор и собеседования? Для начала, ваше резюме рассмотрят технические специалисты. Если оно будет одобрено, мы договоримся о созвоне-знакомстве по skype. Мы обсудим проект, ваш опыт и ваши цели, после чего вместе решим, продолжим ли общение на техническом собеседовании у нас в офисе.

People Partner

Анастасия Аликсюк
a.alyksiuk@evo.company
Расскажите нам о себе
Максимум 1 файл размером до 5 МБ