Перейти к содержимому
D
Deltek
активна · проверена 1 час назад

Flutter-разработчик (Middle+ / Senior, Mobile + Web)

Ищем опытного Flutter-разработчика (Middle+/Senior) для развития приложения со спортивными трансляциями. Нужно работать с видеоплеером, рекламой, подписками и большим количеством данных, поддерживать существующую кодовую базу. Требуется уверенное знание Flutter/Dart, опыт с видео и production-релизами.

senior ~690 195 – ~920 260 ₸ (1 500 – 2 000 USD)
salary intelligence

Зарплата ниже рынка

На 51% ниже медианы Kotlin по 28 вакансиям за 90 дней.

эта
805 228 ₸
медиана
874 247 ₸
p25–p75
506 143 – 2 070 585 ₸
Хотите увидеть распределение по грейдам и городам? Зарплаты Kotlin Калькулятор зарплат
Вакансии в Telegram-канале
Свежие вакансии Каждый день
Подписаться
??%
Match Score
Войдите и создайте резюме
Войти
описание

Что предстоит делать

Навыки: Git, REST, ООП, Базы данных, MySQL, Linux, Django, Docker. Квалификация: Middle. Специализации: Разработчик мобильных приложений. ## Flutter-разработчик (Middle+ / Senior, Mobile + Web) ## О продукте Развиваем приложение с **живыми спортивными трансляциями, статистикой матчей, видео и большим объёмом данных**. Продукт работает на **iOS, Android и Web** на общей Flutter-кодовой базе. Ядро приложения — собственный видеоплеер поверх HLS. Вокруг него работают реклама, подписки, аналитика и различные сценарии доступа к контенту. Рядом — десятки насыщенных экранов с данными из API: матчи, турниры, команды, составы, статистика и другие спортивные данные. Кодовой базе несколько лет: есть внутренние пакеты, собственные обёртки над сетью и хранилищем, несколько брендов из одного репозитория. Ищем человека, который придёт **развивать работающий продукт**, разбираться в существующей архитектуре и постепенно улучшать её, а не начинать всё с нуля. ## Уровень **Middle+ / Senior.** Ориентируемся на разработчика с **3+ годами коммерческой разработки на Flutter**, который сопровождал хотя бы один продукт достаточно долго, чтобы сталкиваться не только с разработкой новых экранов, но и с: - релизами; - регрессиями; - production-багами; - чужим кодом и архитектурными решениями; - проблемами, возникающими только на части устройств или сетей; - публикацией приложений в App Store и Google Play. ## Чем предстоит заниматься ## Видеоплеер и стриминг Видео — одна из ключевых частей продукта. Нужно будет развивать и поддерживать: - HLS live-трансляции и VOD; - буферизацию и восстановление после обрывов сети; - повторное подключение к потоку; - обработку зависаний и ситуаций, когда воспроизведение остановилось без явной ошибки; - полноэкранный режим; - работу со звуком и audio session; - поведение приложения при уходе в фон; - Picture in Picture; - трансляцию на телевизор / casting; - длительное воспроизведение без утечек памяти и деградации производительности. Важно уметь воспринимать плеер не как один виджет, а как **машину состояний и переходов**. Например, понимать, в каких состояниях плеер способен зависнуть навсегда, как это определить и какой fallback или watchdog должен сработать. ## Реклама и подписки Плеер тесно связан с рекламой и монетизацией. Нужно будет работать со сценариями: - показ рекламы перед или вокруг трансляции; - гонки между загрузкой рекламы и запуском контента; - ситуация, когда реклама не загрузилась; - зависание рекламного SDK; - возврат пользователя к контенту после рекламы; - отсутствие чёрных экранов и бесконечных загрузок; - различные состояния подписки; - восстановление покупок; - отключение рекламы для подписчиков. ## API и данные В продукте много экранов с большим количеством данных. Предстоит вместе с backend-разработчиком: - участвовать в проектировании API под реальные потребности клиента; - подключать новые методы; - продумывать кеширование; - обрабатывать ошибки и недоступность сервисов; - уменьшать количество лишних запросов и данных; - корректно обновлять данные на live-экранах; - собирать новые экраны по макетам. ## Mobile + Web Основная кодовая база Flutter используется для: - iOS; - Android; - Web. Для Web нужно будет учитывать особенности браузера, воспроизведения видео, CORS, проксирования и взаимодействия Flutter с JavaScript. ## Производительность и стабильность Отдельная часть работы — production-качество: - профилирование; - поиск лишних rebuild; - оптимизация тяжёлых списков; - контроль памяти; - плавная прокрутка на слабых устройствах; - стабильность при многочасовом воспроизведении; - анализ crash reports; - поиск проблем по логам и метрикам. ## Релизы Нужно уметь доводить задачу не до merge, а **до production**: - CI; - сборки; - flavors; - white-label приложения; - подпись приложений; - публикация в App Store и Google Play; - работа с отказами ревью; - исправление требований магазинов; - наблюдение за функциональностью после релиза. ## Что важно для нас ## Flutter / Dart Уверенное знание Dart и Flutter: - жизненный цикл виджетов; - понимание Flutter rendering pipeline; - управление состоянием; - Bloc / Cubit; - локальное состояние там, где более сложный подход не нужен; - Dependency Injection; - слоистая feature-архитектура; - работа с существующими внутренними пакетами и соглашениями проекта. Важно уметь **встроиться в существующую архитектуру**, а не пытаться переписать продукт под свой любимый стек. ## Видео Практический опыт работы с видео: - HLS; - live и VOD; - buffering; - network errors; - reconnect; - foreground / background; - fullscreen; - audio; - длительное воспроизведение. Особенно ценим разработчиков, которые умеют диагностировать сценарии вида: **«Плеер просто остановился, ошибки нет».** ## Native Не требуется быть отдельным iOS или Android-разработчиком, но необходимо комфортно чувствовать себя на уровне: **«прочитать → понять → поправить → собрать».** Желательно знать: - platform channels; - Swift; - Kotlin; - native player APIs; - Picture in Picture; - casting; - audio sessions. ## Инфраструктура продукта Будет полезен опыт с: - рекламными SDK; - subscriptions / in-app purchases; - аналитикой; - crash reporting; - remote config; - feature flags. Важно понимать, как **удалённо выключить, изменить или подменить функциональность без нового релиза приложения**, если в production возникла проблема. ## UI Ожидаем аккуратную реализацию интерфейсов: - вёрстка по дизайну и спецификации; - адаптация под разные размеры экранов; - темизация через токены; - локализация; - корректная работа с насыщенными данными интерфейсами. ## Будет большим плюсом ## Спортивная тематика Понимание того, как устроены: - матчи; - турниры; - лиги; - туры; - составы; - live score; - турнирные таблицы; - статистика; - коэффициенты. Когда разработчику интересен спорт и не нужно объяснять предметную область с нуля, работать с продуктом значительно проще. Кроме того, такой человек быстрее замечает проблемы и неудобства в интерфейсе. ## Flutter Web Опыт с: - Flutter Web; - JS interop; - hls.js; - HTML video elements; - CORS; - проксированием; - особенностями браузерного воспроизведения. ## Видео-инфраструктура Плюсом будет понимание: - streaming CDN; - особенностей HTTP headers; - DRM; - ограничений разных платформ; - Chromecast / casting; - Picture in Picture. ## Остальное Также приветствуется: - SQLite и offline cache; - тестирование бизнес-логики; - code review; - наставничество; - опыт развития больших Flutter-проектов. ## Как мы ожидаем, что разработчик работает Спокойно разбирается в чужом коде и legacy. Не ограничивается фразой: **«У меня не воспроизводится».** А идёт дальше: смотрит логи, состояние плеера, сеть, устройство, версию ОС, метрики и crash reports. Часть проблем со стримингом может возникать только у нескольких процентов пользователей — на конкретном Android-устройстве, версии iOS, операторе или нестабильной сети. Поэтому важно: - тестировать на реальных устройствах; - проверять работу на плохом интернете; - думать о нестандартных сценариях; - доводить задачу до релиза; - следить за ней после выкладки; - заранее задавать вопросы по scope; - реалистично оценивать сроки; - коротко фиксировать важные технические решения в репозитории. ## Тревожные признаки Скорее всего, нам будет сложно сработаться, если: - весь опыт Flutter ограничивается формами и списками поверх REST API; - нет практического опыта с production-видео; - нет собственных релизов в App Store и Google Play; - при первом знакомстве с проектом возникает желание полностью переписать его на другой стек или архитектуру; - разработчик не знает, с чего начать диагностику, если воспроизведение просто остановилось без ошибки; - разработка тестируется только в эмуляторе; - задача считается законченной сразу после merge, без проверки того, как она работает у пользователей.

навыки

Стек и инструменты

Поделиться

Подходит ли вам эта вакансия?

Зарегистрируйтесь и загрузите резюме — посчитаем % совпадения с этой вакансией, подсветим сильные стороны и что стоит подтянуть

Создать аккаунт PDF-парсинг резюме за 2 минуты

Похожие вакансии

6 вакансий
OBRIO
O
OBRIO
12 ч. назад

Android Engineer (Senior)

~1 897 000 ₸ оценка

Розробник Android-додатка Nebula: створення нових функцій, використання AI в розробці та тестуванні, робота з Kotlin, Jetpack Compose, MVI, Hilt. Потрібен досвід з Android-розробки.

Android Kotlin Jetpack Compose +3
senior cr
Сбербанк
С
Сбербанк
17 ч. назад

Android Developer

~1 897 000 ₸ оценка

Разработка Android SDK для сбора обратной связи, создание переиспользуемых UI-компонентов, поддержка модульной архитектуры и оптимизация производительности. Требуется опыт в Android-разработке, написание unit-тестов и взаимодействие с интеграторами.

Android SDK UI-компоненты +1
senior cr
SoftTeco
S
SoftTeco
1 д. назад

Senior Android Developer

~1 897 000 ₸ оценка

Ищем Senior Android-разработчика для банковского проекта. Нужно знать Kotlin, Jetpack Compose, Coroutines/Flow, Android SDK и архитектуру MVVM/Clean Architecture. Работа гибридная — 3 дня в офисе в столице Прибалтики, требуется уверенный английский.

Android Kotlin Jetpack Compose +5
senior cr
T
Tango
1 нед. назад

Android разработчик (Java/Kotlin)

Ищем Android-разработчика для работы над высоконагруженным приложением. Задачи: внедрение новых функций, разработка сложных интерфейсов и анимаций, оптимизация производительности. Предлагают работу в Лимассоле с релокацией и опционами на акции.

Android Java Kotlin +4
senior Лимассол cr
Andersen
A
Andersen
6 д. назад

Android разработчик (Kotlin)

Ищем опытного Android-разработчика (Kotlin) для создания мобильного банковского приложения для бизнес-клиентов. Нужен опыт от 3 лет в мобильной разработке и от 2 лет в банковской сфере, знание Kotlin, Clean Architecture, Jetpack Compose и CI/CD. Компания предлагает удаленную работу, конкурентную зарплату, бонусы и возможности роста.

Android Kotlin Mobile Banking +6
senior гибрид hh
C
Компания
18 ч. назад

Android / Kotlin Multiplatform Developer

~828 234 – ~920 260 ₸ (1 800 – 2 000 USD)

Ищут Android-разработчика с опытом в Kotlin и Kotlin Multiplatform для удалённой работы. Требуется опыт миграции legacy-кода на современный стек, работа с картами, WebSocket и мультимодульной архитектурой. Предлагают гибкую занятость и оплату от $1800-2000 в месяц.

Android Kotlin KMP +4
senior удал. tg