Senior Go/Python Software Engineer (Prom.ua) (offline)

EVO Ukrainian Product 🇺🇦
Prom.ua — провідний торговий майданчик в Україні, більше 50 000 продавців і 120 000 000 пропозицій, кожна 5-а гривня в уанеті витрачається на prom.ua.

Prom.ua в цифрах:
по навантаженню 20 млн переглядів сторінок в день (162 млн подій при цьому),
5.5 млн запитів на пошукову видачу,
трафік в місяць близько 60 млн сесій,
в онлайні в піку одночасно 23к користувачів

Проект Prom з технічного боку:
- Мови програмування: Python 3, JS/TS, Go
- Сервіси: PostgreSQL, Redis, Kafka, ElasticSearch, ClickHouse, MongoDB
- Інфраструктура: Self-hosted Kubernetes, Helm, Prometheus

І ще трохи деталей:
- Активно йде поділ на мікросервіси на Python (в основному aiohttp), Go 
- Моноліт написаний на Python
- Як ORM використовується SQLAlchemy
- Для взаємодії з користувачем, client-side написаний на JS. Використовується ReactJS і ряд інших популярних бібліотек.
- На даний момент, більшість даних зберігається в postgresql і частина в MongoDB
- Асинхронна взаємодія заснована на Kafka
- Синхронна взаємодія переважно GRPC, REST

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

Найближчі задачі:
- Розробка системи внутрішньої реклами по моделі СПА
- Розвиток інструменту аналітики реклами 
- Розробка інструменту з управління рекламою
- Переписування алгоритму роботи денних бюджетів. Реалізація надійної роботи та незалежності від часу доби та країни.  
- Оптимізація роботи сторінки перегляду рекламних кампаній для користувачів у яких кількість рекламних кампаній обчислюється тисячами. 
- Продакт інженерний підхід до вирішення задач: ми продуктова команда, нам важливо, щоб розробники були продуктово орієнтовані. Це означає, що розробник не просто виконує поставлене завдання, а розуміє проблеми бізнесу. І може запропонувати більш оптимальне рішення, якщо таке існує, або показати, що ця задача не має цінності.

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

About EVO

EVO — продуктова українська IT-компанія. Центральний офіс знаходиться в Україні (м.Київ). 900+ співробітників, технічний департамент понад 300 осіб, розробників понад 200 осіб. Ми працюємо віддалено та в гібридному форматі.

Місія EVO — створювати можливості для розвитку підприємництва. Ми робимо маркетплейси для онлайн-шопінгу і замовлення послуг — Prom.ua, Satu.kz, Bigl.ua, Kabanchik.ua, Shafa.ua. Також розвиваємо фінтех (проєкт RozetkaPay) та логістику.

Активно розвиваємо кілька волонтерських проєктів:
- платформа для безпечної волонтерської співпраці — Pidmoha. Вона згуртовує в одному місці волонтерів та організації, які потребують допомоги або готові допомогти у різних категоріях: медична, допомога тваринам, військова, транспорт, житло та гуманітарна допомога;
- платформа для донатів HelpVolunteer. Тут запускаються збори на волонтерські потреби для наших захисників і всіх українців.

Щомісяця, на маркетплейсах EVO люди роблять більш 2 млн замовлень. Кожен другий інтернет-покупець України купує на наших майданчиках.

Про технічний департамент EVO:
Основні мови програмування, які ми використовуємо це Python 3, JS / TS, Golang. Є проекти на Rust, Scala, Kotlin.

Стандартна база даних для наших проектів - PostgreSQL, також використовуємо Redis, MongoDB.
Для пошуку використовуємо ElasticSearch. Під вирішення окремих завдань існують свої плагіни. Працюємо з Clickhouse. В якості черг повідомлень RabbitMQ або Kafka.
SPA програми будуємо здебільшого на. Для складання JS модулів використовуємо webpack, CSS стилі - CSS Modules.

З інфраструктурних інструментів використовуємо:
Gitlab, Docker, Kubernetes, Istio, Prometheus, Grafana, Kibana.
Все, що потрібно для великого продакшн проекту: логінг (kibana), метрики, моніторинг (grafana)

Стек мобільних технологій:
Мови: Swift і Kotlin. Нові проекти пишемо на Flutter.

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

Про технічне ком'юніті в EVO:
- записуємо подкасти (слухати podcasts.google або тут apple podcasts)
- організовуємо внутрішній dev-club (наші внутрішні конференції)
- є свій open source (ось тут детальніше https://evo.company/product-development/)

Company website:
http://evo.company/

DOU company page:
https://jobs.dou.ua/companies/evo/

The job ad is no longer active
Job unpublished on 14 August 2020

Look at the current jobs Golang Kyiv→