Вообще все курсы Хекслета бесплатные! Но только до 15 декабря. Всё, что нужно → принять вызов

iOS разработчик в команду Performance

Местоположение и тип занятости

МоскваПолный рабочий деньМожно удаленно

Компания

Сервис объявлений, которым каждый месяц пользуется треть населения России

Описание вакансии

Условия работы

Платформенная команда Performance в поиске iOS разработчика.

Команда отвечает за скорость работы Авито на всех платформах (Frontend, iOS, Android, Backend). Мы делаем инструменты тестирования, анализа и контроля за производительностью, помогаем продуктовым командам делать Авито быстрым и в целом развиваем культуру производительности в компании.

Вам предстоит:

  • внедрять метрики производительности в iOS приложение, искать по ним проблемы как с помощью профилировщика, так и данных с продакшена, исправлять найденные проблемы с производительностью самостоятельно и привлекая ответственные команды;
  • разрабатывать систему автоматизированного обнаружения отклонений производительности: придумывать метрики и покрывать ими iOS приложение, анализировать данные, строить и проверять гипотезы, автоматизировать нахождение отклонений и настраивать алертинги;
  • исследовать и внедрять техники воспринимаемого перформанса (анимации, скелетоны и др.), техники оффлайнизации (кеширование и предзагрузка контента, low data mode для слабых сетей и др.), новые протоколы и библиотеки (quic, lz4, progressive images, потоковый парсинг json и др.), performance тесты в ci/cd (fps тесты на дизайн компоненты и др.);
  • активно участвовать в стратегическом планировании развития направления Performance в компании, в формировании культуры производительности в продуктовых командах и в развитии продуктового подхода при разработке инструментов Performance’а.

Мы ожидаем, что вы:

  • имеете хороший опыт написания iOS приложений, отлично разбираетесь в платформе iOS и языке Swift;
  • знакомы инструментами профилирования iOS приложений, можете найти неоптимальные места и их причины;
  • любите исследовательские задачи с высокой степенью неопределенности и технической сложности;
  • неравнодушны к производительности и хотите, чтобы продукт, над которым вы работаете, летал;
  • умеете брать на себя ответственность за принятые решения и результат;
  • коммуникабельны, умеете конструктивно доносить свои мысли до коллег и вести переговоры по принципу win-win.

Не обязательно, но круто, если вы:

  • знакомы с продуктовыми подходами в разработке ПО и имеете опыт работы в платформенных (непродуктовых) командах;
  • понимаете, как собирать и анализировать метрики с продакшена, и знакомы с инструментами мониторинга и визуализации данных (Grafana и Tableau);
  • понимаете азы математической статистики;
  • умеете работать с SQL и базами данных;
  • знакомы с другими языками программирования и платформами (например, Golang, Python);
  • имеете опыт публичных выступлений и готовы делиться знаниями на внутренних и внешних митапах.

Работа у нас — это:

  • возможность реализовать свои идеи в проекте с многомиллионной аудиторией;
  • команда, готовая поддержать ваши инициативы и научить новому;
  • бюджет на обучение;
  • ДМС со стоматологией;
  • ноутбуки, дополнительные мониторы и всё, что нужно для продуктивной работы;
  • классный офис в 2 минутах от метро «Белорусская»: панорамный вид на центр города, места для уединённой работы, зоны отдыха, гамаки;
  • пока мы на удалёнке, компенсируем расходы на питание, чтобы сотрудники меньше скучали по бесплатным обедам в офисе;
  • прозрачная система премий и достойная зарплата — размер обсудим на собеседовании.

Полезные ссылки:

Сайт о мобильном кластере Авито и командах. 

Чем занимается команда Performance? Руководитель рассказывает о задачах команды. 

Доклад “Перформанс как продукт без продуктового булшита” . Здесь вы можете посмотреть примеры того, что мы делаем, и как организован процесс работы.

Статья “FPS не падай, девайс не грейся” про сложный процесс поиска и исправления проблем у отдельных пользователей.

Доклад “Абстрактные техники перформанса” про воспринимаемый перформанс.

Доклад “Ошибка.log()” про логирование ошибок в мобильном приложении.