- Мессенджер позволяет пользователям вести переписку, отправлять видео- и аудиосообщения, подписываться на каналы, заводить собственные и не только. Под капотом у нас полноценная база данных SQLite для хранения сообщений и механизмы для отложенной отправки, которые позволяют пользоваться продуктом офлайн. Для работы с сетью используется набор технологий для разных сценариев: Short Poll, SSE, Web-Socket, Long Poll. В продукте много бизнес-логики, это уже не тонкий клиент, а полноценное приложение с интересными техническими вызовами.
Задачи
- Разрабатывать мессенджер ВКонтакте для Android
- Интегрировать звонки, каналы, аудио- и видеоконтент
- Улучшать существующий код и писать новый — расширяемый, поддерживаемый и удобочитаемый
- Взаимодействовать со смежными командами: backend, дизайна, аналитики, QA
- Оптимизировать работу приложения (перформанс, память, холодный запуск и прочее)
Требования
- Опыт работы с мультимедиастеком: камера, аудио, видео, энкодинг и декодинг
- Ответственность и способность работать самостоятельно
- Опыт реальной коммерческой разработки с использованием Java/Kotlin
- Хорошее понимание работы платформы Android
- Понимание нюансов многопоточности
- Понимание сетевых технологий, отличий TCP- и UDP-сокета от веб-сокета
- Умение оптимизировать приложение с точки зрения быстродействия и работы с сетью
- Опыт написания тестов