Занимаюсь кроссплатформенной разработкой
Начинал с программирования на Python, писал всякий web, поэтому не имею проблем с тем, чтобы понимать как работает сервер.
Позже перешел на мобильную разработку под Android, начинал с Java, теперь пишу на Kotlin.
По работе много занимался сборкой прототипов(MVP), которые позже доводились до требований реальных сервисов.
Вне рабочей деятельности занимаюсь разработкой без привязки к какому-либо языку.
Из проектов, которые я делал:
- Микроблог с управлением через XMPP(python, tornado)
- Сайт, собирающий картинки, с последующей модерацией и XMPP-бот для него(Python, Flask, Pyramid, Twisted, Protobuf)
- 2 клона синхронного ютуба(на Python и Clojure)
- Клиент для имиджборды(поддержка с Android 2.1, работал через SAX-парсер html)
- Интернет-радио с живым вещанием эфиров(golang, rust, Mumble, liquidsoap, pulseaudio, angular.js)
- Загрузчик картинок в галерею Chevereto под Android
- Клиент iqdb(поиск картинок) под Android
- Плагин для восстановления поддержки трея в Unity(Ubuntu) для Tkabber
- Внешняя авторизация для Murmur(Mumble) через одноразовые коды
- CRM для автопостинга картинок на несколько сервисов с поддержкой Telegram(Flask, Angular)
- Конвертер зацикленных видео/аудио в единый html-файл
- Telegram-бот собирающий текстовые субтитры с Youtube в единый документ и возвращающий ссылку на них
- Pastebin(Rust/Axum)
- Онлайн-игра Dixit(colyseus.js/Vue)
- Плагин для Blender, собирающий панорамы в единое SPA(для визуализации интерьеров например)
- Приложение для подсчета очков в Uno(Flutter)
В текущий момент пишу на: Python, Rust, Kotlin
Из фронтенда пользуюсь в основном Vue
Для своих проектов писал плейбуки для Ansible, собирал образы для Docker, настраивал различные CI/CD(Jenkins, Gitlab CI)
Могу пользоваться любой системой(Linux/Windows/MacOS), в качестве редактора предпочитаю VsCode, но раньше пользовался как и Vim, так и Emacs.
Сервисная команда
- Доработал документацию онбординга новых программистов
- Переработал компонент ввода номера телефона для поддержки всех необходимых масок номеров
- Рефакторил кодовую базу для более эффективного разделения проекта на модули
- Интегрировал OIDC авторизацию
- Писал тесты для бизнес-логики, включая те что на корутинах(junit,coroutines)
- Актуализировал требования по задачам и участвовал в планировании спринтов
- Интеграция библиотеки чата в банковское приложение
- Разработка инструментов автоматизации для повышения производительности разработки(python/rust)
- Рефакторинг крупной кодовой базы, оптимизация многомодульного проекта
- Разработка плагина для Intellij IDEA/Android Studio(подсветка и переход на тест-кейсы в Allure)
- Миграция кода с RxJava на корутины
- Чинил варнинги detekt
- Профилирование времени старта приложения(Perfetto UI) и работы по его снижению
- Писал unit-тесты(junit) и тесты на ui(kaspresso)
Разработка банк-клиента Alfa Mobile
- Согласование макетов с дизайнером в Figma
- Ревью кода
- Написание тестов бизнес-логики на Spock/Groovy/Kotest
- Оптимизация процесса разработки в многомодульных проектах
- Разработка функциональности по бизнес-требованиям
- Написал функциональность выбора страховок в чате поддержки с бизнес-логикой на MVI
Разрабатывал мобильные приложения:
- для грузоперевозок https://play.google.com/store/apps/details?id=ru.dellin.cabinet
- для грузоперевозок физлиц https://play.google.com/store/apps/details?id=ru.dellin.b2c
- EMM-решение на основе Android Management API и интегрированный с лаунчером для Citrix
Приходилось заниматься:
- Рефакторинг крупной кодовой базы в многомодульном проекте
- Проектирование архитектуры для B2C приложения, - - Работал техлидом Android команды и занимался менторингом
- Внедрял Jetpack Compose в готовое приложение
Мигрировал проекты для удаления зависимости от потенциально ненадежных и блокируемых внешних репозиториев
Разработка модуля видеосвязи для мессенджера Glip, на C++, Kotlin и Java
- Адаптировал приложение под новые версии Android
- Исправил процесс локализации в бизнес-логике на C++
https://play.google.com/store/apps/details?id=com.glip.mobile
Разработка Android-приложений
- Карты лояльности
https://play.google.com/store/apps/details?id=com.gpn.azs
- Доставка продуктов
https://play.google.com/store/apps/details?id=ru.reksoft.okey
- Разработка плагинов для кассового терминала Эвотор
Разработка chat roulette для нетворкинга
- Перевел видеочат на single view application
- Встраивал ML маски для селфи-камеры
- Доработал webrtc, чтобы можно было отправлять жалобы с кадрами нарушителей
- Прорабатывал концепты для улучшения пользовательского опыта
https://play.google.com/store/apps/details?id=com.embriaventures.cnnct&hl=ru
Разработка приложения "Цветочки" (https://play.google.com/store/apps/details?id=com.csboston.flowers)
Реализация бизнес-логики(Kotlin, RxJava) и верстка интерфейсов по макетам(Zeplin)
Разработка Android-приложений
- Lookbattle(tinder-like приложение для соревнования в образах стилей одежды) https://play.google.com/store/apps/details?id=com.lookbattle.android&hl=ru (MVP, Realm, сложные полноэкранные анимации интерфейса)
- Приложение для сервиса стриминг с мобильного телефона(первая итерация ffmpeg, конечное решение - MediaCodec)
- Настраивал CI/CD в Jenkins
Разработка VR-приложений
- Караоке с панорамным видео(включая стереровидео), позже добавили поддержку GearVR
- VR-игры(занимался всем процессом, начиная от концепта, заканчивая моделированием и написанием логики для Unity)
Разработка приложений для Android/iOS
- Написал SDK для indoor-навигации на C++ для Android/iOS, включающее в себя построение маршрутов и геолокацию
- Построил конвейер для создания карт, начиная со скана чертежей и заканчивая готовой картой с примененными стилями + данными для навигации
Web/системное программирование
- Система видеонаблюдения на основе Erlyvideo(Flussonic) и системы мониторинга камер
- Аналог Dropbox с шифрованием файлов
Разработка софта для складской тележки, применяемой для сборки заказов
- Интеграция Bluetooth сканера штрихкодов в Android приложение
- Взаимодействие по Bluetooth с аппаратным решением на Arduino через SPP
- Разработка приложения для взаимодействия со складской CRM и вышеописанным аппаратным обеспечением
Разработка системы бронирования отелей, Django, Celery, MongoDB, Redis, Google Maps
- Нормализация большого массива поврежденных/неполных данных
- Взаимодействие с множеством разнородных внешних API
- Пакетная обработка данных, основанная на очередях
Разработка и поддержка бизнес-процессов бэкофиса и склада, Python, Django
- Создание автоматических отчетов
- Создание автоматической подсистемы распределения курьеров
- Был написан интерфейс для склада подготовки заказов
Реализация и поддержка бизнес-процессов бэкофиса, Python 2.4, MySQL, Firebird
- Переписывание системы синхронизации между фронт- и бэкофисом с Delphi 6.0 на Python 2.4
- Создание автоматических отчетов для email
- Поддержка и доработка поискового робота
Обслуживание ЛВС из 34 компьютеров с доменом под управлением операционной системы Windows 2003 Server
Специализация АСОиУ, написал диплом по теме: "Система комплексирования
экспертных оценок разнородных экспертов: учет неполноты ответов"