close

Senior Software Web Engineer (JS/Python/Go) проект Prom.ua

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

Prom.ua в цифрах

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

Проект Prom с технической стороны:

Языки программирования:

  • Python 3
  • Go
  • JavaScript

Cервисы:

  • PostgreSQL
  • Redis
  • ElasticSearch
  • ClickHouse
  • MongoDB

Инфраструктура:

  • Self-hosted Kubernetes
  • Helm
  • Prometheus

И еще немного деталей:

  • Активно разделяемся на микросервисы на Python(в основном aiohttp), Go, Node.js
  • Монолит написан на Python
  • В качестве ORM используется SQLAlchemy
  • Для взаимодействия с пользователем, client-side написан на JS. Используется ReactJS и ряд других популярных библиотек. 
  • На данный момент, большинство данных хранится в postgresql & clickhouse

У вас будет возможность писать на различных языках (JS/Python/Go). Все зависит от команды и направления в котором вы хотите развиваться.

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

  • Важно понимать принципы работы высоконагруженных web (и не только) сервисов в ситуациях, когда один сервер не способен справиться с нагрузкой. 
  • Понимать как распределять нагрузку между сервисами, как шарить данные между сервисами. Как эти данные хранить и осуществлять к ним непрерывный доступ. 
  • Важно иметь опыт работы с реляционными и колоночными базами данных. Уметь оптимизировать запросы к ним. Понимать принципы,как можно шардировать данные между несколькими экземплярами стореджей. Разбираться, как можно организовать стратегии резервирования данных и восстановления после аварий. 
  • Для полнотекстового поиска используется ElasticSearch. Для работы необходимо понимать, как работать с полнотекстовыми поисковыми движками. 
  • Деплой и мониторинг организован на базе Kubernetes, Helm, Prometheus, Grafana. Нужно будет освоиться с этими технологиями для работы над проектом. 

Ближайшие задачи:

Задачи зависят от стека технологий, с которыми человек будет работать. Если это client-side, то будут задачи по переработке кабинета управления рекламными кампаниями или аналитикой. Если backend, то возможны задачи по модифицированию бизнес-логики сервера рекламных объявлений, написанию дополнительной бизнес-логики по поддержке дополнительных требований (аналитика, нотификации, отчеты), интеграция с внешними сервисами (службы доставки, рекламные сети). Возможно, разработка новых сервисов, если бизнес-задачи не будут ложится в текущую архитектуру.

Продакт инжиниринговый подход в EVO:

Команда продуктовая, поэтому нам важно чтобы разработчик был продуктово ориентирован. Это означает, что разработчик не просто выполняет поставленную задачу, а понимает проблемы бизнеса, которые решает эта задача и может предложить более оптимальное решение, если такое существует, или показать, что эта задача не имеет ценности. 

Как у нас проходит подбор и собеседования:

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

People Partner

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