Senior Backend Engineer Node js (NestJS, PostgreSQL, HighLoad) to $4500

Про проект

Ми Getz Technology будуємо  - технологічний сервіс таксі (Ride-hailing) з нуля. Це Greenfield проект: жодного легасі, сучасний стек, чиста архітектура та високі вимоги до продуктивності.

Нам потрібен інженер, який розуміє, що відбувається "під капотом" фреймворку, і не боїться писати Raw SQL заради performance.

Технічний чек-лист

Ти нам підходиш, якщо цей список для тебе — зрозуміла задача:

У перший місяць роботи тобі доведеться реалізувати подібні модулі:

  1. Написати ендпоінт GET /drivers/nearby для пошуку водіїв у радіусі 5 км
    • Оптимізувати гео-запити через Raw SQL (велика перевага, якщо працював з PostGIS — функції ST_DWithin, ST_Distance)
    • Якщо не працював з геоданими — не проблема, швидко розберешся в документації
  2. Реалізувати кешування гео-видачі в Redis (TTL 30s) для зниження навантаження на БД
  3. Обробити Concurrency (Race Conditions): використати SELECT ... FOR UPDATE при прийнятті замовлення водієм, щоб два водії не взяли одне замовлення одночасно
  4. Спроектувати State Machine поїздки з 11 станами (NEW → SEARCHING → DRIVER_ASSIGNED → ... → COMPLETED) та валідацією переходів
  5. Інтегрувати платіжний шлюз з логікою Pre-Auth Hold, Capture, Split Capture та Void

    вої задачі (Responsibilities)
  6. Проектування та розробка REST API на NestJS для додатків Rider та Driver
  7. Реалізація State Machine поїздки з обробкою граничних випадків
  8. Інтеграція платіжних шлюзів (LiqPay) з логікою Hold / Capture / Void
  9. Налаштування WebSocket (Socket.io + Redis Adapter) для трекінгу водіїв у реальному часі
  10. Оптимізація БД запитів (індекси, партиціонування, query profiling)
  11. Участь у Code Review та архітектурних обговореннях з CTO

    Наш стек (Tech Stack)
  12. Backend:
  13. Node.js 20, NestJS, TypeScript 5
  14. Prisma ORM (для простих запитів) + Raw SQL (для складних)
  15. WebSocket (Socket.io), REST API
  16. Database:
  17. PostgreSQL 15 (з можливістю роботи з геоданими через PostGIS)
  18. Redis Cluster (cache + queues + pub/sub)
  19. Infrastructure:
  20. Google Cloud Platform (GKE)
  21. Docker, Terraform, GitHub Actions
  22. BullMQ для черг та фонових задач

    Вимоги (Must Have)
  23. Node.js / NestJS:
  24. 4+ роки комерційного досвіду
  25. Глибоке розуміння Dependency Injection, Guards, Interceptors, Custom Decorators
  26. Досвід написання модульних, тестованих додатків
  27. PostgreSQL:
  28. Глибоке розуміння транзакцій, рівнів ізоляції (Read Committed, Serializable)
  29. Досвід роботи з блокуваннями (Pessimistic/Optimistic Locking)
  30. Вміння писати та оптимізувати складні SQL запити
  31. Розуміння індексів (B-tree, partial indexes, compound indexes)
  32. Redis:
  33. Досвід роботи не тільки як з кешем, а й з чергами (Bull/BullMQ) та Pub/Sub
  34. Розуміння TTL, eviction policies
  35. Soft Skills:
  36. Вміння декомпозувати складні задачі
  37. Здатність обґрунтувати архітектурні рішення
  38. English: Intermediate+ (читання документації Google Maps API, Stripe, PostgreSQL)

    Nice to Have (буде великим плюсом)
  39. PostGIS або досвід роботи з геоданими (якщо ні — допоможемо швидко розібратися)
  40. Досвід роботи з high-load системами (100k+ RPS)
  41. Розуміння event-driven архітектури та message brokers
  42. Знання Kubernetes та container orchestration
  43. Досвід інтеграції з платіжними шлюзами (Stripe, LiqPay, Fondy)

    Продукт:
  44. Прямий вплив на продукт — ти один із перших інженерів
  45. Participation у технічних рішеннях з першого дня
  46. Відсутність легасі — будуємо з нуля правильно

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
To apply for this and other jobs on Djinni login or signup.
Loading...