FreeTech – компания с собственным производством, специализирующаяся на автоматизации и мониторинге инженерных систем. Мы разрабатываем программные продукты для объектов разной сложности: инженерное оборудование зданий, промышленный и коммерческий холод, технологические процессы промышленных предприятий.
Мы являемся аккредитованной ИТ-компанией.
Ищем Fullstack-разработчика уровня Middle+ для развития промышленной web-платформы FreeTech. Продукт используется для мониторинга и управления инженерными системами на реальных объектах: отображает телеметрию, события и аварии, помогает работать с отчетами, настройками оборудования, объектами и пользователями.
В этой роли предстоит заниматься web-частью продукта: развивать frontend на Vue.js, backend на Node.js / Express, проектировать REST API, работать с данными, интерфейсами и бизнес-логикой системы. Низкоуровневую интеграцию с оборудованием выполняют профильные инженеры, поэтому фокус позиции – прикладная разработка, архитектура web-сервисов и развитие пользовательского функционала.
Система уже находится в эксплуатации, поэтому задачи будут связаны как с добавлением нового функционала, так и с улучшением существующей кодовой базы: рефакторингом, оптимизацией, развитием архитектуры и повышением удобства продукта для пользователей.
Задачи
•Разработка и развитие web-приложения для мониторинга и управления инженерными системами на Vue.js и Node.js / Express;
•Поддержка существующего функционала и разработка новых модулей продукта;
•Проектирование и разработка REST API для frontend-части, обмена данными и управления устройствами через существующий backend-слой;
•Реализация backend-логики для обработки данных с оборудования, событий, аварий, уведомлений и отчетов;
•Разработка пользовательских интерфейсов: дашбордов, графиков, таблиц, карт объектов, мнемосхем, форм настройки оборудования, админ-панелей и UI-компонентов;
•Работа с системой авторизации, ролями пользователей и разграничением доступа;
•Интеграция с внутренними сервисами и существующими компонентами системы;
•Работа с MariaDB: написание и оптимизация SQL-запросов, подготовка миграций, работа с историческими данными и телеметрией;
•Участие в проектировании новых модулей, декомпозиции задач и улучшении архитектуры существующего продукта;
•Поддержка, рефакторинг и развитие существующей кодовой базы;
•Взаимодействие с командой разработки и инженерами, отвечающими за низкоуровневую интеграцию с оборудованием.
Требования
•Опыт коммерческой fullstack-разработки от 3 лет;
•Уверенное знание TypeScript и JavaScript;
•Практический опыт backend-разработки на Node.js и Express;
•Опыт проектирования и разработки REST API;
•Понимание принципов построения backend-сервисов, разделения ответственности, валидации данных и обработки ошибок;
•Опыт frontend-разработки на Vue.js;
•Опыт работы с Vuex и Vue Router;
•Уверенное владение HTML5, CSS3, SCSS/SASS;
•Опыт разработки интерфейсов со сложной бизнес-логикой: дашборды, таблицы, формы, графики, административные панели;
•Опыт работы с MariaDB или MySQL;
•Умение писать, анализировать и оптимизировать SQL-запросы;
•Опыт работы с миграциями баз данных;
•Понимание принципов авторизации, ролей пользователей и разграничения доступа;
•Опыт работы с Git;
•Опыт работы в Unix/Linux-окружении;
•Умение разбираться в существующей кодовой базе, аккуратно вносить изменения и проводить рефакторинг;
•Способность самостоятельно декомпозировать задачи, предлагать технические решения и доводить их до результата;
•Готовность работать с промышленной предметной областью и большим количеством данных от оборудования.
Будет плюсом
•Опыт работы с Vite и понимание современной сборки frontend-приложений;
•Опыт описания, поддержки или использования OpenAPI / Swagger-спецификаций;
•Понимание Docker: контейнеризация приложений, работа с Dockerfile и docker-compose;
•Понимание принципов CI/CD: сборка, тестирование, деплой, работа с пайплайнами;
•Опыт настройки окружения разработки, линтеров, форматтеров и инструментов контроля качества кода;
•Опыт работы с Redis;
•Опыт работы с ClickHouse или другими хранилищами для аналитики, телеметрии и исторических данных;
•Опыт работы с WebSocket, Server-Sent Events или другими механизмами обмена данными в реальном времени;
•Опыт работы с системами мониторинга, телеметрией, событиями, авариями, уведомлениями или отчетностью;
•Понимание особенностей разработки web-интерфейсов для инженерных, промышленных или IoT-систем;
•Опыт или базовое понимание Go / Golang;
•Желание развиваться в backend-разработке на Go и участвовать в будущей миграции части сервисов с Node.js на Go;
•Опыт проектирования модульных backend-сервисов и понимание принципов их дальнейшего масштабирования и поддержки;
•Опыт работы с логированием, диагностикой и анализом ошибок в backend-приложениях.
Технологический стек
Backend
TypeScript, Node.js, Express, REST API, OpenAPI / Swagger.
Frontend
TypeScript, JavaScript, Vue.js, Vuex, Vue Router, Vite, HTML5, CSS3, SCSS/SASS.
Базы данных и хранилища
MariaDB, Redis, ClickHouse, SQL, миграции баз данных.
Инструменты и окружение
Git, Unix/Linux, Docker, внутренние инструменты обновления ПО на устройствах.
Дополнительно
В перспективе планируется развитие и частичная миграция backend-сервисов на Go, поэтому опыт или интерес к Golang будет преимуществом.
Условия
•Работа над промышленным web-продуктом для мониторинга и управления инженерными системами на реальных объектах;
•Участие в развитии существующей системы: новые модули, улучшение архитектуры, оптимизация и развитие продукта;
•Возможность предлагать и реализовывать собственные технические решения;
•Работа в аккредитованной ИТ-компании;
•Официальное трудоустройство по ТК РФ;
•Стабильная своевременная заработная плата, выплаты 2 раза в месяц;
•Уровень заработной платы обсуждается по результатам собеседования и зависит от опыта и технического уровня кандидата;
•Возможность профессионального и карьерного роста внутри команды;
•Возможность участвовать в развитии backend-направления и будущей миграции части сервисов на Go;
•Команда, в которой можно работать не только с типовыми web-задачами, но и с предметной областью инженерных систем, телеметрии и автоматизации;
•Корпоративные мероприятия;
•Возможен гибридный формат работы: офис / работа из дома.