Иловайская улица 12Ас1
О проекте:
Мы развиваем самописную CRM-систему для внутренних нужд компании (nodejs/mongoose model/mysql). Проект уже работает в продакшене, имеет сложившуюся архитектуру и требует опытного разработчика для поддержки, глубокой доработки и улучшения производительности системы.
В связи с переосмыслением проекта, мы также рассматриваем возможность полной переработки системы со сменой архитектуры и разработки с нуля. Кандидат будет непосредственно вовлечен в этот процесс - от анализа текущих проблем и проектирования новой архитектуры до ее реализации.
Основные задачи:
- Разобраться в существующем коде;
- Продолжить работу по доработке функционала;
- Написать подробное логирование в разные логи и с разными уровнями: бд, ядро, фронт, скорость операций (скорость обращения к БД, рендер страницы, выдача);
- Участие в проектировании и реализации новой архитектуры системы (в случае принятия решения о перезапуске). Оптимизация текущей архитектуры для повышения масштабируемости и поддерживаемости.
- Эффективная работа с большими объемами данных (сотни тысяч записей), реализация и оптимизация поиска.
Требуемые навыки:
- Работать с Node.js - async, await, promise, без лапшевого кода и миллиона калбеков;
- Фреймворки Express.js, Nest.js, React, Telegraf;
- Использовать базы данных MySQL и MongoDB с Mongoose, моделями и связями между ними;
- Хотя бы базово понимать принцип поиска в большом количестве текстовых данных (100-300 тыс записей);
- Работать с REST API и уметь их писать на ноде, для того чтоб с ЦРМ можно было вести работу из сторонних приложений;
- Работать с GIT, контролировать ветки и версии, вести баг-трекер и списки задач;
- Уметь оптимизировать запросы к базе данных;
- Уметь решать проблемы с производительностью;
- Доступ будет только на Devel-сервер. В продакшен будет переливаться по слиянию гита прямо оттуда;
- Не обязательно - Верстать веб-страницы на HTML и CSS, делать их динамичными и интерактивными с помощью Javascript.
Условия:
- Для максимально быстрого погружения в проект и налаживания коммуникации первые 2 недели потребуется появляться в офисе (детали обсудим). После адаптации - полностью удаленно;
- Работаем по прозрачному процессу с понятными приоритетами и адекватными дедлайнами;
- Задачи ставятся четко, обсуждение - по делу, лишних созвонов нет;
- Работа с реальным, рабочим проектом, ваши изменения будут иметь прямое влияние на бизнес-процессы.