О компании
UFORCE существует, чтобы сделать агрессию экономически невыгодной.
Основанная в Украине и с головным офисом в Лондоне, UFORCE — это компания в области оборонных технологий с операциями по всей Европе, Соединённым Штатам и Азии.
UFORCE разрабатывает беспилотные суда, наземную робототехнику и летательные аппараты, программное обеспечение для автономии и слой командования и управления, который объединяет их в единую систему. Каждая платформа может использоваться самостоятельно и становится сильнее в составе системы. Линейки продуктов включают семейство беспилотных надводных судов MAGURA, семейство ударных платформ NEMESIS, семейство наземных робототехнических платформ LIUT и системы противодействия БПЛА.
О роли
Старший/ведущий инженер-программист (Nova Core) будет проектировать, создавать и эксплуатировать бэкенд-сервисы и платформенные основы, которые обеспечивают надёжные, безопасные и удобные для сопровождения операции командования и управления (C2) в рамках развертываний Nova Cloud. Эта роль сосредоточена на «внутреннем цикле» Nova Core: архитектуре сервисов, API, моделях данных, сохранении данных, аутентификации/авторизации, наблюдаемости и опыте разработчиков, от которых зависят другие модули Nova и продуктовые команды.
Что вам предстоит делать
•Владеть и выпускать критически важные бэкенд-сервисы Nova Core (например, общие API, сервис конфигурации, жизненный цикл арендатора/окружения, общие доменные библиотеки).
•Проектировать стабильные, обратно совместимые контракты API (схемы, версионирование, планы устаревания/миграции) для защиты зависимых сервисов и команд.
•Создавать и развивать модели данных и слои сохранения, включая эволюцию схем, миграции, гарантии корректности и безопасные стратегии развертывания.
•Обеспечивать эксплуатационную готовность уровня производства: структурированное логирование, метрики, трассировка, панели мониторинга и действенные оповещения; писать и поддерживать инструкции по эксплуатации (runbooks).
•Повышать надёжность со временем, снижая частоту инцидентов и сокращая время обнаружения и восстановления (MTTD/MTTR) с помощью инструментирования и улучшений после инцидентов.
•Внедрять безопасные по умолчанию шаблоны бэкенда (минимальные привилегии, управление секретами, события аудита, хуки политик) и делать их повторно используемыми для разных команд.
•Вносить вклад и обеспечивать единообразие RBAC/разрешений и проверок авторизации в сервисах и API.
•Добавлять тесты с акцентом на безопасность и CI/CD проверки, основанные на моделировании угроз, чтобы уменьшить регрессии.
•Создавать и поддерживать общие бэкенд-библиотеки/SDK с подробной документацией и примерами для ускорения внедрения и снижения дублирования работы.
•Улучшать опыт разработчиков: ускорять локальные рабочие процессы, обеспечивать паритет окружений (например, докеризированные зависимости, подготовленные данные) и быстрое получение обратной связи по тестам.
•Усиливать тестовые каркасы (тесты контрактов, интеграционные тесты, базовые показатели производительности) для более раннего выявления сбоев между сервисами.
•Диагностировать и устранять узкие места в производительности с высоким влиянием (горячие пути задержек, кэширование, параллелизм, эффективность запросов к БД) и вводить прагматичные бюджеты производительности.
•Рефакторить хрупкие участки и снижать целенаправленный технический долг для улучшения сопровождаемости и снижения операционных рисков.
•Чётко коммуницировать компромиссы и эффективно сотрудничать с зависимыми инженерными и продуктовыми командами.
Как выглядит успех
•Основные сервисы Nova доставляются, принимаются и эксплуатируются надёжно с чёткими SLI/SLO и инструкциями по эксплуатации.
•Наблюдаемость достаточно сильна, чтобы инциденты обнаруживались быстро и решались быстрее со временем (улучшение MTTD/MTTR).
•Практики версионирования API и совместимости снижают количество интеграционных изменений и предотвращают нарушения для зависимых команд.
•Основы безопасности и контроля доступа (аутентификация/авторизация, аудит, управление секретами, минимальные привилегии) последовательно применяются во всех сервисах Nova Core.
•Общие контракты, библиотеки и SDK существенно уменьшают дублирование работы сервисов и ускоряют доставку между модулями Nova.
•Процессы CI/CD и релизов обеспечивают более безопасные и частые развертывания основных сервисов.
•Производительность и корректность измеримо улучшаются в критических рабочих процессах (задержки, использование ресурсов, эффективность запросов, обработка сбоев).
•Технический долг снижается в целевых областях, улучшая сопровождаемость и снижая операционные риски.
Требуемые квалификации
•Более 5 лет опыта создания и эксплуатации производственных бэкенд-систем и сервисов.
•Глубокий опыт проектирования API, архитектуры бэкенда и безопасного развития контрактов со временем.
•Уверенный опыт моделирования данных и сохранения (SQL и/или NoSQL), включая миграции и эволюцию схем.
•Подтверждённый опыт операционного владения: наблюдаемость, готовность к дежурствам, реагирование на инциденты и отладка в продакшене.
•Опыт разработки бэкенда с приоритетом безопасности, включая шаблоны аутентификации/авторизации и проектирование аудита/событий.
•Сильная дисциплина тестирования (юнит/интеграционные/контрактные тесты) и способность создавать надёжные системы в реальных условиях.
•Чёткие навыки коммуникации и межкомандного сотрудничества; комфортно согласовывать архитектурные решения со стейкхолдерами.
Желательно
•Опыт создания платформенных основ для мультисервисных сред (общие библиотеки/SDK, шаблоны сервисов, внутренние платформы).
•Опыт работы с мультиарендными системами, управлением жизненным циклом арендаторов и шаблонами предоставления окружений.
•Опыт с паттернами надёжности распределённых систем (идемпотентность, повторные попытки, транзакционные рабочие процессы, компромиссы согласованности).
•Опыт в инженерии производительности (профилирование, нагрузочное тестирование, бюджеты задержек) и оптимизации бэкенда с учётом затрат.
•Опыт в оборонных технологиях / C2/C4ISR / тактических системах, ограниченных развертываниях или регулируемых/локальных средах.