Flatgigs
Principal Mobile SDK Engineer
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Principal-инженер для разработки мобильного SDK карт и навигации: публичный API, turn-by-turn навигация, документация и релизная инженерия. Работа с нуля до коммерческого продукта, который интегрируют внешние разработчики, с прямым подчинением основателю и CEO.
Задачи
- Проектировать архитектуру SDK: единый дизайн, скрывающий внутренний слой карт и рендеринга
- Реализовывать логику навигации: turn-by-turn, привязка к маршруту, определение схода с маршрута, перестроение маршрута, ETA и состояние поездки
- Проектировать публичный API: идиоматичные потокобезопасные интерфейсы, скрывающие внутреннюю реализацию
- Готовить документацию и примеры: справочные материалы, гайды по интеграции, заметки о миграции и рабочие sample-приложения
- Обеспечивать качество локации: сенсорная фузия GPS, акселерометра и гироскопа для тоннелей, городских каньонов и слабого сигнала
- Оптимизировать производительность: батарея, память, кэширование тайлов и тепловое поведение при длительных сессиях навигации
- Реализовывать фоновое выполнение: режимы location и audio, чтобы навигация работала в фоне
- Делать локализацию: многоязычное голосовое сопровождение, включая арабский, и RTL-разметка карты
- Заниматься релизной инженерией: упаковка бинарников и версионирование для приватных и публичных каналов дистрибуции
- Обеспечивать качество: unit-, интеграционные и device-тесты с симуляцией локации и воспроизведением записанных маршрутов
- Руководить: hands-on на старте, задавать архитектуру и стандарты для растущей команды
Требования
- 10+ лет разработки мобильного ПО, значительная часть — на iOS
- Экспертный Swift и глубокое знание платформенных основ: конкурентность, фоновые режимы, жизненный цикл приложения, разрешения, память и энергопотребление
- Опыт создания и поддержки SDK или библиотеки, используемой внешними разработчиками: semantic versioning, обратная совместимость, стабильность модулей
- Продвинутый production-опыт с крупным map/navigation SDK (Mapbox, MapLibre, Google Maps SDK или аналог), существенно глубже маркеров и движения камеры
- Способность к системному проектированию на границе сложного внутреннего движка и простого публичного интерфейса
- Умение самостоятельно писать документацию и относиться к ней как к части результата
- Самостоятельность и суждение: на первом этапе некому эскалировать вопросы дизайна
Условия
- Три этапа собеседований
- Без алгоритмических задач и без длинного take-home проекта
- Прямое подчинение основателю и CEO
- Возможность вырастить и возглавить мобильную команду
Навыки
- Swift
- iOS
- Kotlin
- Android
- Mapbox
- MapLibre
- Google Maps SDK
- Vector tiles
- Metal
- OpenGL
- GeoJSON
- Mercator
- WGS84
- Computational geometry
- Kotlin Multiplatform
- CarPlay
- GPS
- Sensor fusion
- Semantic versioning