ДН
Дмитрий Н.
Мужчина, 21 год
Россия, Ульяновск, UTC+4
Ставка
2 337,66 Р/час
НДС не облагается
Специалист доступен с 3 июля 2025 г.
Добавьте подходящих специалистов в список и оформите заявку для предварительного бронирования времени специалистов. После оформления заявки ваш персональный менеджер организует прохождение всех необходимых проверок с вами и каждым кандидатом из заявки. Специалист привлекается к проекту только после окончательного подтверждения его выхода с вашей стороны.
Подробнее
О специалисте
Специализация
Android разработчик
Грейд
Навыки
Отрасли
Знание языков
Русский — C2
Английский — B1
Главное о специалисте
Дмитрий — Android-разработчик уровня Middle. Специализируется на Java, Kotlin, SQL, SQLite, Room и других языках и фреймворках.
Опыт работы:
- Приложение для захвата видеопотока с нескольких камер одновременно. Спроектировал архитектуру и клиент-серверное взаимодействие, используя подход Clean Architecture и MVVM. Исследовал возможности camera2 api, реализовал захват видеопотоков с камер.
- Приложение защиты детей. Переработал систему сохранения данных об использованных приложениях, снизил нагрузку на сервера, улучшил UX приложения.
- Музыкальный плеер. Реализовал core-network модуль с системой шифрования, разработал сервис для воспроизведения музыки через ExoPlayer.
- Приложение по учёту доходов и расходов. Реализовал систему уведомлений через Firebase Cloud Messaging, доработал интерфейс приложения для арабских стран, добавил английский язык в приложение.
Проекты
(3 года)
Под NDA
Роль
Android разработчик
Обязанности
Проект:
Приложение позволяет пользователю захватить видеопоток с нескольких камер одновременно и передать его клиенту в локальной сети с максимально возможным высоким качеством и гибкими настройками
Обязанности и задачи:
-Спроектировал архитектуру и клиент-серверное взаимодействие, декомпозировав функциональные требования на фичи, соблюдая подход Clean Architecture, в качестве presentation слоя использовал MVVM. Приложение проектировал как многомодульное с 2я основными группами модулей - core и feature, и использованием api/impl модулей.
-Исследовал возможности захвата видео с камеры с использованием camera2 api. В результате для конкретного устройства - pixel 8 pro отобрал следующие кодеки - h264, h265, jpeg, с лучшим качеством и возможностью воспроизводиться из файла, будучи записанными без вручную дописанных метаданных, в отличии от аналогов. Это облегчило работу и позволило сразу протестировать ИИ систему заказчика. Также выявил возможность получать кадры jpeg в лучшем качестве, делая подряд снимки и формируя из них видео.
-Реализовал фичу захвата видеопотоков с камер с конфигурацией сессии захвата camera2 api под вышеуказанные кодеки, 2 формата - видео или подряд сделанные снимки и другие настройки видеопотока(разрешение, качество и битрейт) указанные пользователем.
-Исследовал подходы для стриминга данных в локальной сети. Путём трансляции тестовых данных и замера пропускной способности выявил, что большая пропускная способность получается при использовании DatagramSocket.
-Реализовал стриминг данных через DatagramSocket по сети. В эту задачу входил парсинг больших массивов байт кадров на пакеты размерами не превышающие полезную нагрузку UDP. Также реализовал хранение и досылку потерянных пакетов кадров, что позволило почти полностью устранить главный недостаток UDP протокола.
-Исправил баг в режиме подряд сделанных снимков, связанный с зависанием ui через некоторый промежуток времени или после остановки трансляции. Проблема заключалась в слишком частом вызове capture у сессии, тк вызов крутился в while(true), решил с помощью postDelayed у handler’а с интервалом в 32 мс, что не навредило фпс, тк режим имеет ограничение в 30.
Команда:
2 android разработчика, 1 QA
Достижения
- Полностью изучил структуру camera2 api. Исследовал преимущества и недостатки различных кодеков и форматов.
- Изучил и поработал с различными протоколами передачи данных.
- Исправил значительный баг в работе приложения в режиме захвата видеопотока через подряд сделанные снимки.
Стек специалиста на проекте
Kotlin, MVVM, Clean Architecture, Camera2
Отрасль проекта
RnD
Период работы
Июнь 2024 - Февраль 2025
(9 месяцев)
Под NDA
Роль
Android разработчик
Обязанности
Проект:
Приложение защиты детей позволяет контролировать действия ребенка - просматривать время использования приложений, устанавливать лимиты или блокировать их использование, просматривать историю браузеров, звонков и смс на смартфоне ребенка, а также блокировать входящие вызовы от конкретных номеров
Обязанности и задачи:
-Переработал систему сохранения данных об использованных приложениях. Предыдущая основывалась на работе сервиса, который регулярно запрашивал состояние activity приложений за день и основываясь на смене её состояния считал время использования приложений, что не всегда работало корректно. Переписал на использование AccessibilityService с более корректными ивентами.
-Переписал логику отправки данных об использованных приложениях, так как отправлялись все данные за день, а не новые данные.
-Доработал фичу с получением данных об смс. Ранее данные об смс получали через BroadcastReciever, но он не может отследить отправленные смс, поэтому написал логику получения отправленных смс через contentResolver.
-Реализовал фичу трекинга истории бразуеров через деталку Accessibility ивентов, получая url, на который переходит ребенок или введенный запрос через id вьюх браузеров, которые предварительно получал через LayoutInspector.
Команда:
1 android разработчик, 1 QA, 1 BackEnd разработчик, 1 flutter разработчик
Достижения
- Нашёл обходные пути получения данных по смс
- Снизил нагрузку на сервера, путем исключения отправки избыточных данных
- Улучшил ux-приложения добавив к входящему вызову статус об его отклонении или ответе на него.
Стек специалиста на проекте
Kotlin, Firebase, MVVM, Kotlin coroutines, Retrofit, Room, Clean Architecture, Dagger2
Отрасль проекта
LifeStyle
Период работы
Октябрь 2023 - Май 2024
(8 месяцев)
Под NDA
Роль
Android разработчик
Обязанности
Проект:
Приложение - музыкальный плеер, позволяющий пользователю слушать музыку, подкасты и радио. В приложении есть механизм подписки, при покупке которой пользователь получает такое преимущество, как, отсутствие рекламы. Также в приложении присутствует механизм распознавания музыки и возможность прослушивать контент в условиях отсутствия интернета.
Обязанности и задачи:
-Реализовал core-network модуль с системой шифрования/дешифрования токена через Cipher и встраивания его в запросы через Interceptor.
-Реализовал фичу главного экрана с различными виджетами, отображение которых зависит от ответа приходящего с сервера в виде json, который парситься через свой JsonDeserializer.
-Реализовал фичу экрана плейлиста с поведением поднимающегося BottomSheet, не конфликтующего с SwipeRefreshLayout.
-Разработал сервис для воспроизведения музыки через ExoPlayer с использованием AudioManager для обработки изменения аудио фокуса.
-Разработал систему хранения плейлистов и песен спроектировав сложную БД с разными типами отношений у таблиц.
Команда:
4 ios разработчика, 4 android разработчика, 3 designer, 1 TeamLead, 1 PM, 3 QA, 3 BackEnd разработчика
Достижения
- Плотно поработал с бд спроектировав и реализовав систему хранения плейлистов и песен
Стек специалиста на проекте
Kotlin, Firebase, MVVM, Kotlin coroutines, Retrofit, Room, Clean Architecture, ExoPlayer, Cicerone, Dagger2
Отрасль проекта
Media
Период работы
Декабрь 2022 - Октябрь 2023
(11 месяцев)
Формат работы
Тип занятости
Фулл-тайм
Формат работы
Удаленно
Командировки
Не готов
Релокация
Не готов
Готов работать на зарубежных проектах
Нет
Образование
Высшее
Учебное заведение
Ульяновский государственный университет
Специальность
Информационные системы и технологии
Завершение учебы
2026 г.