Software Engineer (Node.js/React) (offline)

EVO Ukrainian Product 🇺🇦
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. Ми обговоримо проект, ваш досвід та ваші цілі, після чого разом вирішимо, чи продовжувати спілкування на технічній співбесіді у нас в офісі.

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

Look at the current jobs Node.js Kyiv→