🎙️ Урезать нельзя сохранить: бенефиты и HR-бренд 2026

28 мая соберемся на вебинар и обсудим, как изменился рынок, почему внутренний бренд становится главным каналом внешнего, и какие бенефиты нельзя резать, даже когда бюджет на нуле

→ Присоединиться

Дмитрий Камаев (dm-kamaev), 33 года, Россия, МоскваДмитрий Камаев (dm-kamaev), 33 года, Россия, Москва
TeamLead/Senior Node js developerБэкенд разработчикВедущий (Lead)
От 400 000 ₽Ищу работу

Контакты

Контакты скрыты настройками приватности
Возраст: 33 года
Опыт работы: 12 лет и 8 месяцев
Регистрация: 21.06.2016
Последний визит: сегодня
Гражданство: Россия
Местоположение: Россия, Москва
Дополнительно: готов к удаленной работе

Обо мне

Ищу удаленную работу.


Люблю и умею разрабатывать бэкенды различной сложности. 10 лет в программировании, из них 7 лет на Node js и 3 года опыта управления командой разработки. 


Хорошо знаю Node js и ее современную стандартную библиотеку. Понимаю возможности платформы (работал с ней с версии 0.14) и движка V8, и то, как ее масштабировать. Имеются собственные библиотеки для решения часто возникающих задач, и есть кругозор в готовых инструментах.  Умею оптимизировать и профилировать код,  люблю чтобы были тесты.  Могу как разбивать бизнес-логику на изолированные микросервисы, так и организовывать модульные монолиты. Притом что JavaScript/TypeScript мой основной язык, я также стараюсь почерпнуть концепции из других языков. 


Мой основной стэк:


  • Node js (Fastify, NestJS, Express, Koa), TypeScript (писал сложные типы), jest и nock для тестирования
  • БД и MQ: PostgreSQL, MySQL (люблю эту базу и знаю тонкости), MongoDB, Kafka (очень хорошо знаю), RabbitMQ, Redis 
  • Rust: axum (tokio), jsonrpsee (tokio), sqlx, neon (биндинг для Node js), rayon, reqwest, lettre, mockito
  • DevOps: GitLab CI/CD, Github Actions, Docker Swarm, Ansible, Azure, WireGuard, Prometheus/Loki/Grafana/Alertmanager, Proxmox VE, LXC
  • Документация: PlantUML, OpenAPI и AsyncAPI

Имеется опыт в качестве teamlead:


  • декомпозиция задач от бизнеса для команды разработки и оценка трудозатрат
  • создание и внедрение код стайла и архитектурных решений
  • построение процесса доставки фич
  • разрешение конфликтов 
  • формирование команды, собеседование и обучение ее членов  

Мои статьи на Habr ✍️: https://habr.com/ru/users/mitya_k/articles/


Выкладываю модули на npm 👨‍💻: https://www.npmjs.com/~dm-kamaev


    Навыки

    Выберите навык, чтобы посмотреть, какие тесты специалист уже прошел.

    Node.js
    TypeScript
    Управление разработкой
    Базы данных
    MongoDB
    MySQL
    PostgreSQL
    Apache Kafka
    RabbitMQ
    Rust
    Docker
    Ansible
    Linux
    Высоконагруженные системы
    Высокая доступность
    Redis
    CI/CD
    ООП
    Git
    UML
    Perl
    OpenAPI Specification
    JavaScript
    HTML
    CSS
    Управление людьми
    NestJS
    DDD
    CQRS

    Участие в профсообществах

    Опыт работы

    • Развиваем собственную экосистему цифровых продуктов и сервисов для экспресс-доставки в области e-grocery
      От 100 до 1000 сотрудников
      TeamLead
      Август 2024 — Январь 2026 (1 год и 6 месяцев)

      Рекомендательное письмо

      Участвовал в разработке и проектировании сервисов WMS (Warehouse Management System), а именно сервиса, отвечающего за складские процессы в darkstores X5. Сервис работал под нагрузкой 80–200 RPS в режиме 24/7.

      Зоной ответственности являлись:

      • Поставки 
      • Выкладки
      • Инвентаризации
      • Списания 

      Выполнял роль тимлида («играющего тренера») и занимался управлением командой из 12 человек: 5 бэков, 4 android, 3 qa.

      Техническое лидерство:

      • Проводил ревью кода и архитектурных решений backend-разработчиков
      • Развивал техническую базу команды: 
        • внедрил паттерн Transactional Outbox с целью обеспечения целостности данных
        • внедрил подход к написанию integration/unit-тестов (покрытие 90% и 65%) и контролировал перманентное увеличение покрытия кода 
        • внедрил codestyle и создал гайды для типичных проблем
        • консультировал членов команды по техническим вопросам  
      • Формировал технические OKR команды и обеспечивал отчетность по прогрессу
      • Внедрил технические и бизнес-метрики для обеспечения observability сервиса
      • Составил план бесшовный миграции из общего монолита в отдельный сервис и помог его реализовать команде за квартал 

      Управление командой и процессы:

      • Организовал процессы on-call дежурств и принимал активное участие в них.
      • Внедрил возможность релиза on-demand (до этого релизы были раз в 2 недели) 
      • Участвовал в устранении инцидентов на проде с последующим внедрением решений, предотвращающих их повторение (postmortem)
      • Существенно снизил количество ошибок на проде и обращений от поддержки за счёт системного контроля и внедрение привентивных мер
      • Взаимодействовал со стейкхолдерами (~ 7 человек) по текущим и планируемым стримам в плане функционала, сроков и требующимся ресурсам, а также по процессу проведения пилотов
      • Помогал аналитикам с формированием требований и ревью финального ТЗ
      • People Management: 1:1, Perf Review, onboarding, помощь в кросскомандых коммуникациях, проведение собеседований, увольнение, промоут на обучение, работа с зарплатными ожиданиями

    • Cоздаём надёжные технологии цифровизации и кибербезопасности
      МоскваОт 100 до 1000 сотрудников
      Lead Node js
      Январь 2023 — Июль 2024 (1 год и 7 месяцев)

      Участвовал в разработке и проектировании сервиса TDP (Threat Deception Platform). Это сервис имитации ИТ-инфраструктуры (ловушки‎: VMs, HTTP/S, MySQL, Postgres, SMB FS, FTP,  SSH, IPCam) для обнаружения кибератак на инфраструктуру клиента, а также для размещения «‎приманок» на сервера и пользовательские машины клиентов, которые ведут на запущенные ловушки‎.

      Мною было сделано: 

      • Приманка tracking pixel для отслеживания открытия Office документов.  Функционал был реализован с помощью самостоятельно разработанной низкоуровневой библиотеки для работы с Office Open XML.
      • «Ловушка» Redis, которая имитирует поведение данной БД, и собирает данные о злоумышленнике и его действиях при взаимодействии с ней  
      • Функционал для удаленной выгрузки логов из Loki и синхронизация статусов ловушек с Prometheus
      • Разработан код стайл для написания кода и его организации. Настроены глобальные правила для eslint и tsconfig для монорепы проекта. Исправлено +1500 ошибок
      • Осуществлен рефакторинг старого функционала с использованием DDD и Clean Architecture. Проведена миграция проекта с MikroORM => Kysely js.

      Стэк: Node.js/TypeScript (Fastify js, Nest js),  Postgres, MySQL,  Redis (Bull),  GraphQL/REST/JSON RPC, Rust (axum, sqlx, jsonrpsee tokio runtime), S3 (Minio),  Ansible,  Loki,  Prometheus,  Handlebars,  Bash, PowerShell,  DDD,  Clean Architecture,  PlantUML и RFC 

    • Инвестиции в IT
      МоскваОт 100 до 1000 сотрудников
      TeamLead Node js
      Ноябрь 2019 — Декабрь 2022 (3 года и 2 месяца)

      Участвовал в разработке и проектировании сервисов для ретейлеров (DNS, Мария-Ра, Лента и т.д):

      • Электронные ценники для товаров в магазине
      • «Умные полки» - широкоформатные дисплеи, на которых показывается маркетинговый контент от поставщиков или ретейлера и электронные ценники
      • Система для управления остатками на полке и постановки задач соотрудникам магазина  

      Пришел в роли senior затем вырос в тимлида.

      Занимался декомпозицией задач от бизнеса и постановкой задач (PlantUML, Azure Boards,  Jira) для команд бэкенда,  дизайна, фронтенда и мобильной разработки.

      Участвовал в разработке бэкенда для данных сервисов на Node.js/TypeScript (Fastify,  Express), писал юнит и функциональные тесты (jest, jest-openapi, nock), а также вел документацию в OpenAPI/AsyncAPI. Администрировал БД и участвовал в проектирование архитектуры. Удалось плотно поработать с утилитой для конвертации видео ffmpeg. Переписывал и оптимизировал рендер электронных ценников с помощью Puppeteer. Разрабатывал telegram webApp/bot (Telegraf) для сотрудников магазина.

      Кроме того, организовывал настройку CI/CD (GitLab и Docker Swarm), и занимался DevOps: управление виртуальными машинами (Ansible) и инфраструктурой (домены, ssl, DNS), настройкой VPN (WireGuard) и мониторинга (Prometheus/Grafana/Alertmanager). Участвовал в разворачивании инфраструктуры в облаке (Azure), а затем проводил миграцию на self host машины. 

      Стэк: Node.js/TypeScript (Fastify,  Express, Telegraf),  MySQL 8,  RabbitMQ,  Apache Pulsar, Docker Swarm,  Rust (neon (биндинг для Node js), rayon, reqwest, lettre, mockito), Ansible, GitLab CI/CD,  Nginx, Firebase (push), Neo4j, ffmpeg, Puppeteer, Azure Cloud

    • Национальный исследовательский университет «Высшая школа экономики»
      МоскваБолее 5000 сотрудников
      Node js developer
      Ноябрь 2018 — Ноябрь 2019 (1 год и 1 месяц)

      Разработка и поддержка портала университета и внутренней админки.

      Осуществление миграции внутренних сервисов портала со старой монолитной архитектуры (Perl, Apache) на макро/микро сервисную архитектуру (Node js).

      Внедрение ООП, RBAC и создания core библиотек для сервисов. Оптимизация сайта под высокие нагрузки и построения системы кэширования.

      Интеграция с внешними системами и написание набора периодических процессов: загрузчиков,  парсеров и т.д.

      Сервисы, которые разрабатывались:

      • Система кастомных опросов(подобно Google Forms): для регистраций на мероприятия, опросов сотрудников и студентов, получения справок и т.д. Написания api для интеграции с другими системами.
      • Сервис поиска по выпускным квалифиционным работам.
      • Конструктор для создания сайтов департаментов, факультетов и кафедр.

      Технологии: Node js (Express,  knex),  Nginx,  PorstgreSQL,  Oracle PL/SQL, Memcached,  Redis,  Mongodb,  JavaScript, WebSocket,  Html/Css,  Pug ,  Element io,  Vue js, Vuex,  Parcel,  Perl (X-Ware, mod_perl),  Unix,  Bash,  Git,  LXD.

    • Консалтинговое агентство
      МоскваОт 10 до 100 сотрудников
      Node js developer
      Июнь 2016 — Октябрь 2018 (2 года и 5 месяцев)

      Переработка личного кабинета для клиентов и сотрудников и CRM системы для клинингового сервиса https://www.domovenok.su

      Сервис находился в критическом состоянии, а именно:

      • Множество критических и нерешенных багов (предыдущая команда покинула проект)
      • БД не справлялась с нагрузкой
      • Отсутствие мониторинга и обработки ошибок
      • Отсутствие документации и версионирования api для мобильного приложения

      Сделано:

      • Оптимизировал sql запросы и хранение данных в БД
      • Переписал авторизацию и взаимодействие с другими сервисами и 1С 
      • Снизил сетевую нагрузку на сервисы (склейка запросов, фильтрация ботов и т.д.) и сократил время отдачи страниц (чему были очень рады SEOшники)
      • Переписал и настроил логгирование для системы платежей (Tinkoff эквайринг)
      • Наладил простой деплой

      Кроме того:

      • Разработал построение маршрутов на транспорте и поиск ближайших метро для сотрудников Yandex Map API, Яндекс Матрица. 
      • Отрефакторил множество фич и написал новые
      • Имел большой опыт общения с менеджерами (не из IT), руководителями отделов, а иногда и с клиентами

      Backend: Node js (Express and koa2),  JSON-RPC,  REST API,  PostgreSQL,  MariaDB, MongoDB,  Memcached,  Nginx,  поддержка кода Python (Tornado).
      Frontend: Jquery mobile (framework), Vue js (vuex, vue-router), Webpack, gulp, html/css, handlebars, mustache, Yandex Map API.

      =================================================================

      Агрегатор благотворительных фондов "Сбербанк Вместе" https://sberbankvmeste.ru/.

      Разрабатывал сервисы: 

      • для проведения платежей с помощью сбербанк эквайринга (реккурентные платежи) 
      • систему аналитику и распределения проведенных платежей 
      • агрегатор фондов

      Писал unit-тесты и приемочные тесты для сервиса, эмулирование сбербанка-эквайринга. 

      Backend: Node js, RESTfull api, PostgreSQL, Nginx, Ant, chakram, mocha, chai.

      =================================================================

      Агрегатор школ, курсов и вузов в России http://schools.mel.fm/ http://courses.mel.fm/ http://vuz.mel.fm/.

      Разрабатывал (REST) бэкенд для сервисов: поиск по параметрам,  личный кабинет для администраторов учебных заведений, парсинг данных учебных заведений из открытых источников, геопозиционирование, работа с api yandex map.

      Писал новый код на TypeScript и поддерживал старый.

      Backend: Node js, PostgreSQL, Nginx, Redis, TypeScript

    • ООО "Микро-ИТ"
      Санкт-Петербург
      Node js/ JavaScript developer
      Декабрь 2015 — Июнь 2016 (7 месяцев)

      Личный кабинет для сотрудников радиостанций http://stat.radiostatistica.ru/.
      Разрабатывал frontend и backend для системы статистики по радистанциям в различном виде: таблицы, графики (уникальные пользователи, длительность проcлушивания, устройства и т.д.)
      Проектировал хранение данных и оптимизировал запросы к базе данных.

      Frontend: JavaScript,  HTML/CSS,  JQuery (DataTable, Datapicker, Datarange), Bootstrap, Highcharts.

      Backend: Node js, Nginx, MySQL

    • Risk-Monitoring.ru
      Москва
      Node js/JavaScript/Perl developer
      Ноябрь 2015 — Ноябрь 2017 (2 года и 1 месяц)

      Разрабатывал и поддерживал frontend и backend для сервисов (https://risk-monitoring.ru): построение финансовой отчетности по банкам-контрагентам, агрегатор кредитных рейтингов, стресс-тестирование банков. Разрабатывал систему для оплаты, используя WebMoney (эквайринг) и Яндекс Деньги.

      Писал периодические процессы для парсинга сайта данных ЦБ РФ и международных рейтинговых агенств. Разрабатывал сервисы для построения статистики и email-рассылок.

      Оптимизация sql запросов, поиск утечек памяти. Занимался администрирование Cent OS 7 и БД. 

      Backend: Node js,  Perl,  Nginx,  MySQL,  Phanthom/Casper js

      Frontend: JavaScript, HTML5, CSS


    • Один из лидеров российской индустрии медиа и развлечений
      МоскваОт 1000 до 5000 сотрудников
      Perl developer
      Декабрь 2014 — Ноябрь 2015 (1 год)

      Проект: http://www.livejournal.com/ 

      Разрабатывал систему логирования для проекта, и систему создания машинно-зависимых конфигов ngnix и apache.

      Переписывал и опти​мизировал​ backend и frontend админки для техподдержки, которой больше 16 лет. Ликвидировал накопившиеся за годы баги в серверной части ликвидировал BML. Внедрял новые фичи. 

      Backend: Perl (функциональный подход, ООП, MVC), mod_perl, Golang, RabbitMQ, MySQL, Memcached, JSON RPC, Apache, Nginx.

      PerlMySQLRabbitMQMemcacheApacheNginxООПSOLID
    • Образовательный центр имени С.Н.Олехника
      Москва
      Frontend/Backend разработчик
      Октябрь 2014 — Ноябрь 2014 (2 месяца)

      Сайт-агрегатор репетиторов. Разработка клиентской части (Html/CSS,  JavaScript) и серверной части (Perl,  Apache) сайта http://mat-repetitor.ru, а также его поддержка и развитие.

      PerlApacheSQLJavaScriptHTMLCSS
    • ООО Поиск-Подбор.ру
      Москва
      Perl/Node JS developer
      Июнь 2013 — Сентябрь 2014 (1 год и 4 месяца)

      Разрабатывал backend и frontend маркетплейса для интернет магазинов. Разрабатывал инструменты для сравнения скорости алгоритмов распознавания ключевых слов в тексте с помощью регулярных выражений и хэшей на Perl и Node JS.

      Backend: Perl,  Apache,  Nginx, MySQL, Node js 0.14, Sphinx

      Frontend: Jquery,  JavaScript,  Highcharts,  Datapicker

    Высшее образование

    • Департамент Компьютерной инженерии
      Июнь 2009 — Июнь 2015 (6 лет и 1 месяц)
      информационных технологий и вычислительной техники, информационных технологий и автоматизированных систем