з/п не указана
Москва
Таганско-Краснопресненская линия метро Таганская
Таганско-Краснопресненская линия метро Таганская
От 3 до 6 лет
Обязанности:
- Разработка и поддержка сервисов:
- Реализация новых REST/WebSocket endpoint’ов.
- Расширение административной панели.
- Доработка клиентского ГИС-приложения.
- Интеграция компонентов:
- Помощь в создании новых подключаемых модулей — как серверных интеграций, так и UI-компонентов.
- Обеспечение связи между серверами и модулями через IPC .
- Работа с потоками (Flows):
- Поддержка визуального конструктора FSM-потоков.
- Реализация выполнения бизнес-логики в рантайме.
- Производительность и масштабирование:
- Оптимизация SQL-запросов (особенно пространственных выборок).
- Кэширование данных на клиенте (IndexedDB для модулей и слоёв).
- Надёжность и мониторинг:
- Участие в проектировании и реализации бекапов (logical JSON, PGlite snapshots).
- Добавление метрик/логов для мониторига и выявления проблем функционирования.
- Взаимодействие с командой:
- Участие в митапах
- Участие в Code Review, уточнение требований к API.
- Документирование новых фич (swagger / jsdoc / отдельная тех. документация в базе знаний).
Требования:
- Опыт разработки: 3+ года коммерческой разработки на JavaScript/TypeScript (Fullstack).
- Понимание архитектуры на уровне: микросервисная архитектура,обмен данными по REST, gRPC,WebSocket ( Socket.IO ), IPC (child_process).
- Системное мышление: умение видеть платформу целиком — от клиентского приложения до сервисов конфигурации.
- Английский язык: чтение технической документации (уровень B1 и выше).
Технические навыки:
-
Backend (Node.js)
- Уверенное владение Node.js (ES2020+, асинхронность, streams, EventEmitter).
- TypeScript — обязательное повседневное использование (типизация, интерфейсы, generics, утилитарные типы).
- Фреймворки (практическое знание всех трёх, но без детальной экспертизы по каждому):Express.js, Fastify, NestJS
- WebSocket: работа с Socket.IO (серверная и клиентская части, комнаты, middleware).
- Работа с процессами:
- создание и управление дочерними процессами через child_process, cluster
- понимание особенностей IPC.
- ORM / Query Builders:
- Sequelize
- Drizzle ORM
- Knex
- Встроенные БД:
- опыт с PGlite (PostgreSQL inside Node.js) будет плюсом.
- Безопасность:
- JWT, TBT, шифрование (web crypto).
- Рендеринг на сервере / утилиты: Puppeteer и похожие технологии.
Будет преимуществом
- Опыт работы с Desktop-обёртками (Tauri, Electron).
- Понимание способов и методов шифрования.
- Умение настраивать HTTPS.
- Опыт с Docker (контейнеризация сервисов платформы).
- Участие в open-source ГИС-проектах (QGIS, Leaflet, MapServer).
- Опыт работы с Rust.
Условия:
- Официальное трудоустройство по ТК РФ
- График 5/2, офис м Таганская
- Зарплата 2 раза в месяц, на руки
- Возможности для профессионального роста