О проекте
Мы разрабатываем on-premise клиент-серверное приложение для крупных компаний: учётная система для холдингов и групп компаний с построением регуляторной отчётности по законодательству РФ (группа лиц, аффилированные лица, уведомление о КИК и т.д.).
Архитектура: сервер приложений на C++ (Linux и Windows), СУБД SQL Server / PostgreSQL, толстый Windows-клиент и веб-клиент на React. C++ используется и в серверной части, и в толстом клиенте.
Задачи
— Разработка и развитие серверной части на C++ (Linux/Windows).
— Проектирование архитектуры и написание бэкенда для веб-приложения.
— Разработка и поддержка REST API для веб-клиента и интеграций со сторонними системами.
— Написание сложных SQL-запросов и хранимых процедур, работа с бизнес-логикой в БД (MS SQL Server / PostgreSQL).
— Разработка инсталляторов и пакетов обновлений.
— Обеспечение кроссплатформенности: общий код, условная компиляция, сборка под Windows (MSBuild) и Linux (CMake).
— Техлидство (около 30% времени, без административных функций): code review, менторство 1–2 разработчиков в перспективе, участие в планировании, внедрение стандартов кода и статического анализа.
— Участие в выстраивании процессов разработки совместно с PO, PM и QA.
Кого мы ищем
Нам не нужен кандидат, который сразу и досконально знает всё перечисленное ниже — такого специалиста, скорее всего, просто не существует. Нам важен человек с системным мышлением, здравым инженерным подходом и способностью быстро разбираться в новом: технологиях, предметной области, чужом коде и недокументированном поведении системы. Формальные требования по опыту — ориентир, а не строгий фильтр. Техническая экспертиза для нас важнее формального опыта руководства.
Требования
— Опыт коммерческой разработки на C++ от 5 лет.
— Уверенное знание C++17; C++20 — плюс, в перспективе.
— Опыт разработки серверных и клиент-серверных приложений.
— Понимание многопоточности, сетевого взаимодействия и асинхронности — всё это критично для проекта.
— Опыт проектирования и реализации REST API.
— Уверенное владение SQL: сложные запросы, хранимые процедуры, понимание бизнес-логики в БД. Глубокое знание хотя бы одной из СУБД: MS SQL Server или PostgreSQL.
— Опыт сборки под Windows (MSBuild) и Linux (CMake).
— Опыт работы с Boost.
— Понимание кроссплатформенной разработки и условной компиляции.
— Опыт работы с большим объёмом legacy-кода, готовность к рефакторингу и переписыванию.
— Базовый английский — для чтения технической документации.
— Высшее техническое образование.
Будет плюсом
— Опыт проектирования архитектуры enterprise-приложений.
— Опыт tech lead / менторства / code review.
— Знание опыт разработки Windows GUI приложений.
— Опыт разработки инсталляторов и механизмов обновления ПО.
— Опыт работы в продуктах для финансового, юридического или регуляторного учёта.
— Базовые навыки скриптинга (Python, Bash).
— Опыт внедрения стандартов кода, статического анализа, CI/CD.
Условия
— Полностью удалённая работа, можно из любого региона/страны.
— Гибкий график, 5/2, 8 часов.
— Трудовой договор.
— Компактная команда проекта — 5 человек: PO, PM, QA, два разработчика.
— Возможность влиять на архитектуру, выбирать технологии и выстраивать процессы с нуля.
— Релизный цикл — раз в квартал, без давления CI/CD-конвейера.
Похожие вакансии
Опыт управления командой разработки от 2–3 лет. Сильный технический бэкграунд: разработчик, техлид или архитектор. Опыт архитектурных и технических решений.
PHP 7.1-7.4, symfony1, symfony 4, Golang, doctrine, старые библиотеки. - MySQL, MariaDB, MongoDB. - REST API, GraphQL, внутренние...
Уверенный опыт промышленной разработки на Node.js (у нас Nest.js) от 4 лет. - Навыки system design: построение fault-tolerant систем, масштабирование...
Заранее видеть риски и блокеры. Вести проекты от задачи до результата: Имеет опыт работы напрямую с собственником, CEO или руководителем...
Golang. От 2-х лет. В т.ч. работа с concurrency. Backend. От 5-ти лет (SQL, No-sql, message...
