EVO — продуктова українська IT-компанія.
5 марта 2020

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

сервіси:
— PostgreSQL
— Redis
— ElasticSearch
— ClickHouse
— MongoDB

інфраструктура:
— Self-hosted Kubernetes
— Helm
— Prometheus

І ще трохи деталей:
— Активно йде поділ на мікросервіси на Python (в основному aiohttp), Go, Node.js
— Моноліт написаний на Python
— ORM використовується SQLAlchemy
— Сlient-side написаний на JS. Використовується ReactJS і ряд інших популярних бібліотек.
— На даний момент, більшість даних зберігається в postgresql & clickhouse

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

Що важливо для даної позиції:
— Важливо розуміти принципи роботи високонавантажених web (і не тільки) сервісів в ситуаціях, коли один сервер не здатний впоратися з навантаженням.
— Розуміти як розподіляти навантаження між сервісами, як шарити дані між сервісами. Як ці дані зберігати та здійснювати до них безперервний доступ.
— Важливо мати досвід роботи з реляційними і стовпчиковими базами даних. Вміти оптимізувати запити до них. Розуміти принципи, як можна шардувати дані між декількома екземплярами стореджей. Орієнтуватися, як можна організувати стратегії резервування даних і відновлення після аварій.
— Для повнотекстового пошуку використовується ElasticSearch. Для роботи необхідно розуміти, як працювати з повнотекстовими пошуковими движками.
— Деплой та моніторинг організований на базі Kubernetes, Helm, Prometheus, Grafana. Потрібно буде освоїтися з цими технологіями для роботи над проектом.

Продакт інженерний підхід до вирішення задач: ми продуктова команда, нам важливо, щоб розробники були продуктово орієнтовані. Це означає, що розробник не просто виконує поставлене завдання, а розуміє проблеми бізнесу. І може запропонувати більш оптимальне рішення, якщо таке існує, або показати, що ця задача не має цінності.

Найближчі завдання:
Завдання залежать від стеку технологій, з якими людина буде працювати. Якщо це client-side, то будуть завдання по переробці кабінету управління рекламними кампаніями або аналітикою. Якщо backend, то можливі завдання по модифікації бізнес-логіки сервера рекламних оголошень, написання додаткової бізнес-логіки з підтримки додаткових вимог (аналітика, нотифікації, звіти), інтеграція з зовнішніми сервісами (служби доставки, рекламні мережі). Можливо, розробка нових сервісів, якщо бізнес-завдання не будуть лягати в поточну архітектуру.

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

***********************************************************************************************************************************************************
Наша технічна команда EVO увесь час знаходиться в пошуках нової корисної інформації.
Ми читаємо багато книг, статей, блогів, оглядів і реліз-ноутів, дивимося презентації і доповіді, ходимо на конференції і мітапи.
У нашому каналі ми публікуємо все, що нам здалося важливим і корисним для розробників:

Горячие вакансии

Все вакансии