Описание
Позиция предполагает разработку и поддержку Android-приложений и слоёв интеграции с native C++ для устройств видео-коллаборации и связанных продуктов. Программное обеспечение поддерживает новые функции, развитие архитектуры и поддержку существующих решений.
Задачи
•Проектировать, реализовывать и поддерживать Android-приложения, раскрывающие CV/ML-функции в линейке продуктов камер для конференц-залов
•Разрабатывать и расширять JNI интеграционный слой, соединяющий логику Android-приложения с native-библиотеками на C++20, обеспечивая чистые границы API, безопасное управление памятью и корректную многопоточность на границе языков
•Сотрудничать с CV/ML-исследователями и C++-инженерами для предоставления новых алгоритмов и результатов обработки в Android-слой, включая debug-визуализации и интерфейсы настройки параметров
•Проектировать и реализовывать IPC-интерфейсы между новым Android-приложением и существующей экосистемой приложений для надёжного и эффективного обмена данными между процессами
•Отлаживать и оптимизировать многопоточные, работающие в реальном времени видеопайплайны на Android-устройствах
•Писать и поддерживать unit- и интеграционные тесты для Android и native-слоёв на нескольких аппаратных продуктах
•Участвовать в код-ревью и поддерживать инженерные стандарты для современного C++ и Android-разработки
Требования
•5+ лет опыта в IT
•5+ лет опыта внедрения систем или фреймворков
•Серьёзный опыт разработки Android-приложений на Java и/или Kotlin
•Опыт работы с механизмами Android IPC, такими как AIDL, Messenger, ContentProvider или BroadcastReceiver
•Серьёзный опыт разработки на native C++ (C++11 или новее)
•Практический опыт проектирования и поддержки границы Java/native с помощью JNI
•Опыт работы с Git
Будет плюсом
•Linux-разработка, Docker, CMake, gtest/gmock, Conan, Qt
Условия
Условий в вакансии нет