• Файл

Михайло

Node.js-розробник

Розглядає посади:
Node.js-розробник, Backend-програміст, Javascript-програміст, Fullstack-розробник, Backend-розробник, адміністратор сайта, адміністратор сайту
Вік:
26 років
Місто проживання:
Київ
Готовий працювати:
Дистанційно

Контактна інформація

Шукач вказав: ТелефонЕл. поштуМесенджер

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

Завантажений файл

Версія для швидкого перегляду

Це резюме розміщено у вигляді файлу. Ця версія для швидкого перегляду може бути гіршою за оригінал резюме.

Михайло Любімцев
Backend Developer (Node.js / NestJS)
Київ, Україна · Віддалена робота
[відкрити контакти](див. вище в блоці «контактна інформація») | [відкрити контакти](див. вище в блоці «контактна інформація»)
t.me/mr_kompozzitor | gitlab.com/open-projects142440591

Backend-розробник з 3+ роками комерційного досвіду на Node.js / NestJS.
Працюю з мікросервісною архітектурою, PostgreSQL та подієвою взаємодією
через Kafka і BullMQ. Основний фокус — продуктивність бекенду та робота з
даними: аудит повільних ендпоінтів, аналіз SQL-запитів, перенесення важких
обчислень у базу, проєктування схем. Маю досвід повного циклу — від
проєктування БД до інтеграції платіжного еквайрингу.

ТЕХНІЧНІ НАВИЧКИ
● Мови: JavaScript, TypeScript
● Backend: Node.js, NestJS, Express.js, REST API, gRPC
● Бази даних: PostgreSQL (оптимізація запитів, транзакції, партиціонування, COPY),
Redis
● ORM: TypeORM, Prisma
● Черги та події: Kafka, BullMQ
● Тестування: Jest (unit, інтеграційні через Testcontainers), навантажувальне
тестування
● Інструменти: Docker, docker-compose, Git, Linux, GitHub Actions (CI), S3 /
MinIO, Swagger, Postman

ДОСВІД РОБОТИ

Проєкт на замовлення
серпень 2026 — жовтень 2026
Сервіс збору та версіонування файлів app-ads.txt (Ad Tech)
gitlab.com/open-projects142440591 · NestJS, TypeScript, PostgreSQL 16, BullMQ /
Redis, undici, S3 (MinIO), Docker

• Скоротив зайвий трафік і навантаження на базу умовними HTTP-запитами
(If-None-Match / If-Modified-Since) та звіркою хешу вмісту: парсинг і мердж
запускаються лише для файлів, що реально змінилися — близько 0.4%
доменів за добу.
• Спроєктував модель версіонування SCD2-lite: рядки не перезаписуються, а
живуть із first_seen_at / removed_at; повторна поява рядка є реактивацією

того самого запису, а не дублем. Повна історія переходів пишеться в
append-only таблицю.
• Реалізував мердж через COPY ... FROM STDIN в UNLOGGED
staging-таблицю з подальшим FULL OUTER JOIN проти активних записів —
усе в межах однієї транзакції.
• Побудував HTTP-сервіс на undici: спільний dispatcher, окремі таймаути на
з'єднання / заголовки / тіло, ліміт розміру відповіді, тротлінг по хосту.
Розділив паралелізм на три незалежні ліміти — черга, http-запити та
запис у БД, оскільки ці шари впираються в різні ресурси й мають різну
латентність.
• Тести: парсер, класифікація помилок, валідація конфігу та сам мердж;
інтеграційні тести піднімають реальний PostgreSQL через Testcontainers.
• Навантажувальний тест: 5 млн рядків авторизації опрацьовано за 6–7
хвилин на 4-ядерному сервері. Початкове наповнення бази — 5 млн доменів
(частина — без файлів або з пошкодженими файлами); щоденне
навантаження — ~49 тис. доменів, у файлах яких є зміни.

Dzencode — Backend Developer (Node.js / NestJS)
червень 2025 — липень 2026 · Внутрішній Task-tracker: мікросервіси + legacy-моноліт
● Проводив аудит та оптимізацію повільних ендпоінтів, аналізував SQL-запити за
допомогою EXPLAIN ANALYZE, усував проблему N+1 та переносив обчислювальну
логіку з коду в PostgreSQL.
● Прискорив ключовий ендпоінт у 7.5 разів (з 15 до 2 сек): переніс агрегації з
Node.js у PostgreSQL для вибірки обсягом близько 3,3 млн записів (щоденні
дані по 1500 співробітниках за 6 років), скоротив обсяг вибірки та
декомпозував heavy-ендпоінт, винісши отримання деталізації в окремий
API-метод.
● Реалізував подієву взаємодію через Kafka — продюсери та консюмери,
підписка на топіки суміжних сервісів. Забезпечив ідемпотентність обробки:
повторне надходження дубля повідомлення не призводить до повторного
застосування бізнес-логіки.
● Спроєктував алгоритми визначення субординації з рекурсивним обходом ієрархії
департаментів для коректного відображення керівників із нетиповими ролями.
● Усував розбіжності між кодом та БД: аналізував некоректно згенеровані міграції,
синхронізував моделі TypeORM/Sequelize із реальною схемою бази даних.
● Проводив рефакторинг конфігурації та обробки помилок: мігрував мікросервіси з
кастомних рішень на внутрішні бібліотеки.
● Розвивав функціонал: розробляв модулі фільтрації, оновлював Protobuf-контракти
для gRPC-взаємодії, розширював DTO та ендпоінти під нові вимоги.
● Покривав власні модулі unit-тестами на Jest, для критичних сценаріїв писав
інтеграційні тести.

Backend Developer — Контракт, NDA
квітень 2024 — квітень 2025 · E-commerce платформа бренду спортивного
харчування
● Спроєктував і розробив сервіс платежів: схема даних у PostgreSQL, модель
життєвого циклу платежу та інтеграція еквайрингу Monobank Pay API — від
створення рахунку до обробки статусу оплати й переведення замовлення в
оплачене.
● Забезпечив атомарність оплати: оновлення статусу платежу та переведення
замовлення виконуються в одній транзакції PostgreSQL, що виключає розбіжність
між фактом оплати та станом замовлення.
● Реалізував сервіс сповіщень для повернення покинутих кошиків:
cron-планувальник добирає кошики, які добу лишаються без оформленого
замовлення, і надсилає лист через Gmail API (OAuth 2.0).
● Працював у 4-х мікросервісах платформи: Payment і Notification розробив з
нуля, Product і Order розвивав під нові вимоги — ендпоінти, DTO,
узгодження міжсервісних gRPC-контрактів.

Freelance Backend Developer — Малий бізнес, разові замовлення
жовтень 2022 — грудень 2023 · близько 15 проєктів різного обсягу
● Розробив бота автоматизації WhatsApp для бізнесу на whatsapp-web.js:
масові розсилки та автоматичний збір інформації з листувань.
● Проєктував REST API та серверну логіку — кастомні бекенд-рішення на
Node.js / Express / NestJS.
● Розробляв парсери на Puppeteer для автоматичного збору даних із
веб-ресурсів.
● Писав кастомні Node.js-скрипти: обробка файлів, трансформація даних,
вивантаження та синхронізація через Google Sheets API.
● Створював Telegram-боти для автоматизації сповіщень, обробки вхідних
запитів та інтеграції із зовнішніми сервісами.
● Підтримував і рефакторив legacy-код, оптимізовував SQL-запити та усував
баги в проєктах замовників.

Інші резюме цього кандидата

Схожі кандидати

Усі схожі кандидати

Кандидати у категорії


Порівняйте свої вимоги та зарплату з вакансіями інших підприємств: