Мессенджер позволяет пользователям вести переписку, отправлять видео- и аудиосообщения, подписываться на каналы, заводить собственные и не только. Под капотом у нас полноценная база данных SQLite для хранения сообщений и механизмы для отложенной отправки, которые позволяют пользоваться продуктом офлайн. Для работы с сетью используется набор технологий для разных сценариев: Short Poll, SSE, Web-Socket, Long Poll. В продукте много бизнес-логики, это уже не тонкий клиент, а полноценное приложение с интересными техническими вызовами.

Задачи

  • Разрабатывать мессенджер ВКонтакте для Android
  • Интегрировать звонки, каналы, аудио- и видеоконтент
  • Улучшать существующий код и писать новый — расширяемый, поддерживаемый и удобочитаемый
  • Взаимодействовать со смежными командами: backend, дизайна, аналитики, QA
  • Оптимизировать работу приложения (перформанс, память, холодный запуск и прочее)

Требования

  • Опыт работы с мультимедиастеком: камера, аудио, видео, энкодинг и декодинг
  • Ответственность и способность работать самостоятельно
  • Опыт реальной коммерческой разработки с использованием Java/Kotlin
  • Хорошее понимание работы платформы Android
  • Понимание нюансов многопоточности
  • Понимание сетевых технологий, отличий TCP- и UDP-сокета от веб-сокета
  • Умение оптимизировать приложение с точки зрения быстродействия и работы с сетью
  • Опыт написания тестов