«ДиСиКон» - компания-разработчик и интегратор высокотехнологичных решений для мониторинга лесных пожаров. Основным продуктом компании является система раннего обнаружения очагов возгорания «Лесной Дозор», которая бережет леса от пожара во многих регионах РФ с 2011 года. Система спроектирована и создана российскими разработчиками по запросу Департамента лесного хозяйства. Запатентованные технологии комплекса включают в себя:
- 14 российских патентов,
- 4 евразийских и 3 патента США
Наша платформа представляет собой клиент-серверное SaaS решение:
- ядро платформы разработано на VC++ и .Net Framework 4.8
- десктопный клиент - WPF-приложение на .Net Framework 4.8
- веб-клиент на React/Redux
Мы ищем опытного .NET/JS фулл-стек разработчика для решения задач по развитию платформы и созданию новых продуктов, с задачей возглавить направление разработки и стать тим-лидом команды.
Задачи, которые нужно будет решать
- Разрабатывать и развивать веб-приложение на React/TypeScript со строгой типизацией
- Строить интерфейсы на базе Ant Design в соответствии с дизайн-системой проекта
- Разрабатывать и поддерживать карту как ключевой элемент интерфейса: слои, кластеризация объектов, кастомные маркеры и попапы, работа с геометрией и координатами, отрисовка зон покрытия и маршрутов
- Развивать картографическую часть на OpenLayers с перспективой перехода на CesiumJS (3D-визуализация рельефа и покрытия камер)
- Интегрироваться с REST API и SignalR-хабом для получения real-time событий (пожары, статусы камер, обновления карты
- Разбирать и рефакторить существующий код, устранять технический долг
- Участвовать в code-review, писать поддерживаемый и тестируемый код
- Общаться с бэкенд-командой и дизайнером, участвовать в проработке задач
Требования:
- Опыт коммерческой разработки на React от 2-х лет
- Уверенное знание TypeScript, опыт работы в проектах со строгой типизацией (строгий tsconfig, отсутствие any, типизация API-контрактов)
- Опыт работы с Zustand (или готовность быстро освоить при опыте с аналогичными легковесными стейт-менеджерами)
- Опыт работы с Ant Design
- Опыт работы с картографическими библиотеками (OpenLayers, Leaflet, Mapbox GL, CesiumJS или аналоги)
- Опыт работы с Tailwind CSS и препроцессорами (LESS/SCSS), понимание организации стилей и переключения тем
- Опыт реализации ролевой модели доступа (RBAC) и роутинга (React Router) в приложениях с разными пользовательскими ролями
- Опыт работы с REST API, понимание асинхронного обмена данными
- Опыт сборки проектов на Vite (или готовность быстро разобраться)
- Умение работать с Git
- Способность работать в команде, самостоятельно разбираться в задачах
- Навык оценки, декомпозиции задачи
Дополнительные навыки (будет преимуществом)
- Опыт работы с SignalR или аналогичными real-time протоколами (WebSocket) — желательно
- Опыт работы с геоданными (GeoJSON, проекции координат, работа с растровыми/векторными тайлами)
- Опыт работы с CesiumJS или другими 3D-визуализаторами карт
- Опыт использования браузерных хранилищ (IndexedDB, localStorage) для кэширования и оффлайн-сценариев
- Опыт работы в продуктовых компаниях с отлаженными процессами разработки
- Технический английский
Условия:
- Совершенно потрясающий коллектив
- Свободная незарегламентированная среда общения и работы, отсутствие жёсткого графика
- Гибридный формат работы: минимум 2 дня в неделю в офисе
- Уровень дохода определяется индивидуально, обсуждается на собеседовании