Команда Mobile SDK отвечает за разработку и системное развитие мобильного SDK для самых востребованных мобильных платформ.
Мы создаём продуктовый и технологический фундамент, который позволяет другим мобильным командам быстро и предсказуемо интегрировать ключевые возможности в приложения, опираясь на единые API, стабильное поведение и понятные правила обновления.
Нам нужен разработчик с сильной базой в C++ и интересом к мобильной разработке. Важно уметь работать на стыке C++ и платформенного кода: взаимодействовать с Kotlin, Swift или Dart, интегрировать C++-модули и разбираться в особенностях мобильных платформ.
Особенно ценим опыт разработки SDK, многопоточных приложений и UI-компонентов для мобильных и кроссплатформенных технологий: UIKit, SwiftUI, Android View, Android Compose, Flutter, Qt.
Если тебе интересно разрабатывать производительные библиотеки и компоненты, которыми пользуются другие мобильные команды, — будем рады познакомиться.
Тебе предстоит
- Разрабатывать и развивать Mobile SDK на C++17/C++20.
- Проектировать и поддерживать взаимодействие C++-ядра с Kotlin, Swift и Dart.
- Разрабатывать и улучшать биндинги между C++ и платформенным кодом.
- Работать с UI-контролами для iOS и Android: UIKit, SwiftUI, Android View, Android Compose.
- Развивать кроссплатформенные UI-компоненты на Flutter.
- Решать задачи, связанные с многопоточностью, производительностью и ограниченными ресурсами мобильных платформ.
- Участвовать в проектировании API и архитектуры SDK.
- Разбираться с доставкой данных и обеспечивать стабильную работу SDK как онлайн, так и офлайн.
- Проводить code review и поддерживать качество кода вместе с командой.
Мы ждём от тебя
- От 3 лет коммерческой разработки на C++.
- Уверенное знание C++, стандарт C++17 и выше.
- Опыт работы хотя бы в одном из направлений:
- мобильная или кроссплатформенная разработка;
- разработка на Swift, Kotlin или Dart;
- разработка многопоточных приложений или SDK.
- Умение читать и понимать код на других языках и работать на стыке C++ и платформенного кода.
- Понимание принципов многопоточности и синхронизации.
- Готовность разбираться в большом существующем коде и самостоятельно находить решения сложных технических задач.
Будет плюсом
- Опыт разработки SDK или библиотек, которыми пользуются другие команды или продукты.
- Опыт интеграции C++ с Kotlin / Swift / Dart: биндинги, обёртки, platform channels и другие механизмы взаимодействия.
- Опыт разработки UI-контролов и компонентов.
- Опыт разработки под iOS или Android.
- Опыт работы с CMake.
- Знание инструментов статического анализа и форматирования кода, например clang-tidy.
- Опыт работы с CI/CD и большими C++-проектами.
Кроме того
- 2ГИС — аккредитованная IT-компания.
- Можно работать удалённо. Для гибридного формата есть офисы в Москве, Санкт-Петербурге и два офиса в Новосибирске.
- График гибкий: кто-то начинает в 9, кто-то в 11, а кто-то — когда удобно ему и команде. Главное — выполнять задачи в срок и быть на связи с коллегами.
- Есть ДМС, штатный терапевт, невролог, медицинский консультант и другие IT-плюшки.
- Если хочешь делиться опытом, поможем с выступлениями на конференциях и публикациями на Хабре.