Таганская площадь
Мы ищем к себе в команду Fullstack-разработчика (Node.js + Vue, ГИС-платформа)
Чем предстоит заниматься:
• Разрабатывать новые REST- и WebSocket-endpoint'ы, развивать административную панель и клиентское ГИС-приложение.
• Создавать новые подключаемые модули — и серверные интеграции, и UI-компоненты — и связывать их между собой через IPC.
• Развивать визуальный конструктор FSM-потоков (Flows) и реализовывать выполнение бизнес-логики в рантайме.
• Заниматься производительностью: оптимизировать сложные SQL-запросы (особенно пространственные выборки), кэшировать данные на клиенте через IndexedDB.
• Повышать надёжность системы: бэкапы (logical JSON, PGlitesnapshots), метрики и логирование для мониторинга.
• Участвовать в code review, обсуждать с командой требования к API, документировать новые фичи (Swagger / JSDoc / база знаний).
Что мы ожидаем от кандидата:
• 3+ года коммерческой fullstack-разработки на JavaScript/TypeScript.
• Понимаете, как устроена микросервисная архитектура: REST, gRPC, WebSocket (Socket.IO), IPC (child_process).
• Видите систему целиком — от клиентского приложения до сервисов конфигурации.
• Английский — уверенно читаете техническую документацию (B1+).
Backend (Node.js)
• Уверенно работаете с Node.js: ES2020+, асинхронность, streams, EventEmitter.
• TypeScript на ежедневной основе: типизация, интерфейсы, generics, утилитарные типы.
• Практический опыт с Express.js, Fastify и NestJS — без обязательного глубокого погружения в каждый.
• Socket.IO на сервере и на клиенте: комнаты, middleware.
• Управление процессами: child_process, cluster, понимание особенностей IPC.
• ORM / query builders: Sequelize, Drizzle ORM, Knex.
• Безопасность: JWT, TBT, шифрование через Web Crypto.
• Серверный рендеринг и утилиты: Puppeteer и аналоги.
• Опыт с PGlite (PostgreSQL внутри Node.js) — будет приятным бонусом.
Frontend (Vue)
• Уверенно работаете и с Vue 2, и с Vue 3: компоненты, маршрутизация, управление состоянием.
• Одинаково комфортно с Options API и с Composition API.
• TypeScript во фронтенде с Vue (vue-property-decorator, vue-class-component или Composition API).
• Опыт миграции с Vue 2 на Vue 3 — будет очень кстати.
• UI-библиотеки: Vuetify 2/3 и аналоги.
• Модульная архитектура: SystemJS, динамическая загрузка модулей, работа с манифестами.
• Картографические библиотеки: Esri JS API 3/4, OpenLayers 10.x, MapLibre GL.
• Socket.IO-client; vue-router, Vuex / Pinia — приветствуется.
(Базы данных)
• PostgreSQL и российские СУБД на её базе; MSSQL — опционально.
• Пространственные расширения: PostGIS, MS Spatial.
• Уверенно пишете сложные SQL-запросы, в том числе с геометрическими функциями.
(ГИС и пространственные данные)
• Форматы геометрий: WKT, GeoJSON, Esri JSON.
• Опыт с OGC-сервисами (WFS, WFS-T) и Esri Feature Service (/query, /applyEdits, /addFeatures и др.).
• Проекции через proj4, в том числе перепроецирование на лету.
• Сжатие и потоковая передача: Geobuf, PBF (Protocol Buffers).
• Настройка слоёв, стилей и легенд в ESRI, OpenLayers, MapLibre.
(Инструменты и DevOps)
• Git (стратегии ветвления, PR/MR), NPM.
• Unit-тесты (Jest, Mocha) и интеграционные тесты для API.
• Отладка распределённых систем: несколько сервисов одновременно, логи, трейсинг.
Будет плюсом
• Desktop-обёртки: Tauri, Electron.
• Глубокое понимание шифрования и настройки HTTPS.
• Docker и контейнеризация сервисов.
• Контрибьюты в open-source ГИС-проекты (QGIS, Leaflet, MapServer).
• Опыт с Rust.