Senior Backend Engineer Node js (NestJS, PostgreSQL, HighLoad) to $4500
Про проект
Ми Getz Technology будуємо - технологічний сервіс таксі (Ride-hailing) з нуля. Це Greenfield проект: жодного легасі, сучасний стек, чиста архітектура та високі вимоги до продуктивності.
Нам потрібен інженер, який розуміє, що відбувається "під капотом" фреймворку, і не боїться писати Raw SQL заради performance.
Технічний чек-лист
Ти нам підходиш, якщо цей список для тебе — зрозуміла задача:
У перший місяць роботи тобі доведеться реалізувати подібні модулі:
- Написати ендпоінт GET /drivers/nearby для пошуку водіїв у радіусі 5 км
- Оптимізувати гео-запити через Raw SQL (велика перевага, якщо працював з PostGIS — функції ST_DWithin, ST_Distance)
- Якщо не працював з геоданими — не проблема, швидко розберешся в документації
- Реалізувати кешування гео-видачі в Redis (TTL 30s) для зниження навантаження на БД
- Обробити Concurrency (Race Conditions): використати SELECT ... FOR UPDATE при прийнятті замовлення водієм, щоб два водії не взяли одне замовлення одночасно
- Спроектувати State Machine поїздки з 11 станами (NEW → SEARCHING → DRIVER_ASSIGNED → ... → COMPLETED) та валідацією переходів
- Інтегрувати платіжний шлюз з логікою Pre-Auth Hold, Capture, Split Capture та Void
вої задачі (Responsibilities) - Проектування та розробка REST API на NestJS для додатків Rider та Driver
- Реалізація State Machine поїздки з обробкою граничних випадків
- Інтеграція платіжних шлюзів (LiqPay) з логікою Hold / Capture / Void
- Налаштування WebSocket (Socket.io + Redis Adapter) для трекінгу водіїв у реальному часі
- Оптимізація БД запитів (індекси, партиціонування, query profiling)
- Участь у Code Review та архітектурних обговореннях з CTO
Наш стек (Tech Stack) - Backend:
- Node.js 20, NestJS, TypeScript 5
- Prisma ORM (для простих запитів) + Raw SQL (для складних)
- WebSocket (Socket.io), REST API
- Database:
- PostgreSQL 15 (з можливістю роботи з геоданими через PostGIS)
- Redis Cluster (cache + queues + pub/sub)
- Infrastructure:
- Google Cloud Platform (GKE)
- Docker, Terraform, GitHub Actions
- BullMQ для черг та фонових задач
Вимоги (Must Have) - Node.js / NestJS:
- 4+ роки комерційного досвіду
- Глибоке розуміння Dependency Injection, Guards, Interceptors, Custom Decorators
- Досвід написання модульних, тестованих додатків
- PostgreSQL:
- Глибоке розуміння транзакцій, рівнів ізоляції (Read Committed, Serializable)
- Досвід роботи з блокуваннями (Pessimistic/Optimistic Locking)
- Вміння писати та оптимізувати складні SQL запити
- Розуміння індексів (B-tree, partial indexes, compound indexes)
- Redis:
- Досвід роботи не тільки як з кешем, а й з чергами (Bull/BullMQ) та Pub/Sub
- Розуміння TTL, eviction policies
- Soft Skills:
- Вміння декомпозувати складні задачі
- Здатність обґрунтувати архітектурні рішення
- English: Intermediate+ (читання документації Google Maps API, Stripe, PostgreSQL)
Nice to Have (буде великим плюсом) - PostGIS або досвід роботи з геоданими (якщо ні — допоможемо швидко розібратися)
- Досвід роботи з high-load системами (100k+ RPS)
- Розуміння event-driven архітектури та message brokers
- Знання Kubernetes та container orchestration
- Досвід інтеграції з платіжними шлюзами (Stripe, LiqPay, Fondy)
Продукт: - Прямий вплив на продукт — ти один із перших інженерів
- Participation у технічних рішеннях з першого дня
- Відсутність легасі — будуємо з нуля правильно
Required domain experience
| Fintech | 2 years |
| SaaS | 3 years |
| Mobile | 2 years |
| Security | 2 years |
Required languages
| English | B2 - Upper Intermediate |
| Ukrainian | Native |
Published 13 February
63 views
·
16 applications
94% read
📊
$4000-5500
Average salary range of similar jobs in
analytics →
Loading...