Текст заказа
Senior / Lead Mobile SDK Engineer (Kotlin Multiplatform)
Компания: YoloPrice
### YoloPrice - это embeddable e-commerce платформа, которая встраивается в сторонние мобильные приложения и берет на себя ключевую часть логики: поиск, данные, синхронизацию и работу приложения в online.
Мы развиваем мобильный SDK как один из основных продуктов компании.
Это технологический слой внутри клиентских приложений, который берет на себя работу с бизнес-логикой, данными и сетевыми протоколами, взаимодействует с платформой через API и должен быть быстрым, надежным и незаметным для пользователя.
Сейчас мы приступаем к переработке мобильного SDK с учетом накопленного опыта и нашего нового видения ключевой ценности продукта. В основе разработки уже спроектированная архитектура Kotlin Multiplatform. Наша цель создать более гибкую, надежную и масштабируемую мобильную платформу для интеграции в сторонние приложения.
Нам нужен самостоятельный инженер, которому интересно взять на себя ответственность за ключевую технологическую часть продукта, реализовать новую версию SDK и обеспечить ее дальнейшее развитие и стабильную работу.
### Что вы будете делать
* Реализовывать и развивать SDK, проводя рефакторинг существующей архитектуры Kotlin Multiplatform;
* Развивать сетевой и data layer: управление запросами, retry-стратегии, throttling, обработку ошибок, кэширование, локальное хранение и синхронизацию данных;
* Разрабатывать асинхронные пайплайны с контролем конкурентности и latency, реализовывать фоновые операции и управление состоянием данных;
* Реализовывать realtime-взаимодействие и persistent connections, включая механизмы восстановления соединения, а также интеграцию нативной и веб-части через WebView и взаимодействие с backend;
* Обеспечивать корректную интеграцию и работу SDK в сторонних приложениях: заниматься тестированием, диагностикой, мониторингом и оптимизацией производительности и потребления ресурсов.
### Что важно
* Готовы проверить свой скилл разработки на Kotlin? Мы ожидаем 81 level;
* Практический опыт с Kotlin Multiplatform - не UI, на системном уровне;
* Иметь опыт разработки SDK, библиотек, framework или сложных переиспользуемых мобильных компонентов;
* Знать как интегрировать мобильные библиотеки или SDK в сторонние приложения;
* Регулярно практиковать проектирование и реализовывать архитектуру мобильных приложений или платформенных решений;
* Быть, не теоретически знакомым с асинхронностью и конкурентностью (Kotlin Coroutines / Flow);, скорее ежедневно работать с задачами такого рода;
* Опыт проектирования сетевого взаимодействия на уровне production, как минимум применять модель OSI при разработке сервисов;
* Понимание построения data-heavy систем на клиентской стороне: кэширование, синхронизация, консистентность данных;
* Не забывать самостоятельно реализовывать технические решения, тестировать и отлаживать их;
* Навыки системного debugging и поиска первопричин проблем ≠ закрыть багрепорт тикет.
Будет плюсом:
* Если вы разрабатывали и поддерживали приложения с DAU > 1000;
* Работали со Swift и Swift Concurrency;
* Имели опыт интеграции WebView и взаимодействия нативной и веб-части;
* Вам доводилось работать с realtime-коммуникациями, streaming и persistent connections;
* Сталкивались с SQLDelight, OkHttp и аналогичными инструментами;
* Имеете представление о работе с поисковыми системами, ранжированием или e-commerce системами.
### За какой результат вы будете отвечать
Обеспечить стабильную и предсказуемую работу SDK 2.0 в собственных и сторонних мобильных приложениях.
Результатом должны стать:
* Корректная работа всех основных сценариев SDK без неожиданных побочных эффектов;
* Предсказуемое управление состояниями, запросами и асинхронными операциями без дублирования операций и неконтролируемого накопления запросов;
* Надёжная работа сетевого слоя, хранения, кэширования и синхронизации данных;
* Стабильное взаимодействие SDK с host-приложением и его компонентами;
* Корректная работа realtime-соединений и WebView-интеграций;
* Контролируемое потребление ресурсов и отсутствие существенного негативного влияния на производительность host-приложения;
* Автоматизированное тестирование, диагностика и мониторинг;
* Понятное версионирование, документация и процесс выпуска новых версий.
Качество SDK будем оценивать через работу бизнес-продуктов, компонентой которых он является и легкость встраивания в сторонние приложения, в том числе используя технические метрики, которые вы самостоятельно спроектируете.
### Что уже есть
* Production backend с алгоритмами поиска и ранжирования;
* 300+ магазинов;
* Работающий мобильный SDK и существующая инфраструктура;
* Приложения на iOS и Android (скачать yoloprice.com);
* Технологический стек: Kotlin, Swift, KMP, SQLDelight, OkHttp, Flutter, Python.
### Как устроена работа
* Вы будете единственным мобильным инженером компании и возьмете на себя полную техническую ответственность за мобильный SDK;
* Архитектура SDK 2.0 уже спроектирована. Предстоит реализовать её, довести SDK до production и в дальнейшем отвечать за его техническое развитие и качество;
* Вы будете самостоятельно принимать технические решения в рамках мобильной части продукта и участвовать в развитии архитектуры по мере реализации;
* По вопросам API, контрактов и взаимодействия компонентов предстоит тесно работать с backend-инженером, в том числе проводить совместные code review;
* Вы самостоятельно ведете работу над SDK — от анализа и проработки решений до реализации, тестирования, выпуска и последующей поддержки.
### Больше о нашем продукте
Продукт:
Читайте о нас на Хабре:
### Формат сотрудничества
* Удалённая работа или гибридный формат. Предпочтительно, но не принципиально — Москва, Екатеринбург или Нижний Новгород, чтобы иметь возможность периодически встречаться лично. Мы ценим взаимодействие в нашей небольшой команде.
* Оформление сотрудничества — через ИП;
* Оплата — 2 000–2 500 ₽ за час работы;
* Максимальный месячный бюджет — 420 000 ₽.
Контакты
Telegram:
Mail: