Обо мне

# Чётко знайте свою цель, тщательно планируйте стратегию, выполняйте свой план — и победа будет ваша. 
# Think Different!!! 
# Just Do It!!! 

Опыт работы
АО МСЛ
Москва
Head of Android
Июнь 2018 — По настоящее время (1 год и 5 месяцев)

(Удаленная работа)

Android приложение в сфере сервиса организации впечатлений.

Функции:

- Проектирование архитектуры (Clean Architecture, Android Architecture Components, Jetpack, ViewModel, LiveData, Lifecycles, Paging, Routing, RxJava, Single Activity + Fragments) и разработка проекта с полного нуля

- Оценка сроков по выполнению задач

- Декомпозиция и постановка задач на разработку

- Разработка нестандартных UI компонентов (RxAndroid 2 + RxBinding 2 + Butterknife 9.0) совместимость с версиями Android от 5.0 до 9.0

- Построение тестового стенда для выгрузки приложения на все подключенные тестовые устроййства

- Построение системы CI

- Настройка Gradle для выгрузки в Play Market и различные группы пользователей в Fabric

- Разработка функционала:

-- Бесконечная универсальная лента (PagedList + DataSource + DiffUtil + RecycledViewPool)

-- Фильтрация данных (более 10 параметров) с валидацией входных данных

-- Авторизация, Регистрация, Восстановление и обновление пароля, Deeplinking

-- Авторизация через социальные сети (FB, VK, Google)

-- Верификация номера телефона по SMS

-- Поддержка сессий с автопродлением токена при взаимодействии с приложением.

-- Асинхронная подгрузка UI элементов при детальном просмотре очень длинной страницы с данными и синхронизация с асинхронной подгрузкой данных из сети

-- Верстка UI при помощи ConstraintLayout, CoordinatorLayout, AppBarLayout, CollapsingToolbarLayout

-- Google Maps, Bottom menu, Animation и др.

-- Сложная система биллинга для покупки билетов (Moneta)

-- Календарь с несколькими режимами работы для выбора дат (одиночная дата, диапазон дат)

- Модуль работы с сетью (JSON RPC v2 + REST API + Retrofit 2 + OkHttp 3 + Gson)

- Работа с базой данных ObjectBox 2.0 (NoSQL + RxJava 2 + Dagger 2.7)

- Обработка привилегий (RxJava + Android 6+)

- Работа с галереей и камерой (RxPaparazzo + uCrop)

- Выгрузка изображений на сервер

- Работа с изображениями (Glide 4.7 + Glide-transformations 3.2)

- Модели данных проекта реализованы на Kotlin - постепенный переход

Достижения: Разработка с полного нуля приложения со сложным UI и большим количеством отображаемой информации. Использованы новые компоненты Android SDK.

Используемые технические средства:

Android Studio, Java, Kotlin, RxJava, Android SDK, AndroidX, Android Architecture Components, Jetpack, Json RPC v2, Android 5.0 – 9.0, JIRA, Confluence, bitbucket, Zeplin, RealtimeBoard

ОК ХОЛДИНГ
Москва
Head of Android development
Февраль 2018 — Июнь 2018 (5 месяцев)

(Удаленная работа - контракт на 6 месяцев - проект заморожен заказчиком)

Android приложение в сфере банковских продуктов и услуг для детей и их родителей (для Norvik Bank).

Функции:

- Проектирование и разработка с полного нуля

- Оценка сроков по выполнению задач

- Декомпозиция и постановка задач на разработку

- Проектирование архитектуры (Clean Architecture + Routing)

- Разработка нестандартного UI (RxAndroid 2 + RxBinding 2 + Butterknife 8.5) совместимость с версиями Android от 5.0 до 8.1

- Разработка функционала

- Модуль работы с сетью (JSON RPC v2 + Retrofit 2 + OkHttp 3 + Gson)

- Работа с базой данных ObjectBox (NoSQL + RxJava 2 + Dagger 2.7)

- Обработка привилегий (RxJava + Android 6+)

- Работа с галереей и камерой (RxPaparazzo + uCrop)

- Выгрузка изображений на сервер

- Работа с изображениями (Glide 4.7 + Glide-transformations 3.2)

- Настройка CI на клиенте для Fabric + помощь DevOps для настройки на сервере в Jenkins

- Реализация динамических форм для ввода данных получаемых с сервера (TextView, Edit, Group View, Radio, Selector) со стилизацией и валидацией вводимых данных

- Поддержка ввода пин-кода, отпечатка пальца для входа в приложение

- Поддержка сессий разной длинны с автопродлением токена при взаимодействии с приложением.

- Асинхронный интерфейс с обновлением по мере получения новых данных с сервера.

Достижения: Разработка с полного нуля приложения со сложной банковской логикой в сжатые сроки с большим количеством экранов

Используемые технические средства:

Android Studio, Java, Android SDK, Json RPC v2, Android 5.0 – 8.1, JIRA, Confluence, bitbucket, Zeplin, RealtimeBoard

AA.M GROUP
Нижний Новгород
Team Leader Android
Март 2017 — Февраль 2018 (1 год)

Android приложение-социальная сеть с криптовалютным кошельком (https://allabout.me/)

Функции:

- Проектирование и разработка с нуля с возможностью работы в оффлайне

- Проектирование архитектуры Clean Architecture + Routing со своим бекстеком

- Разработка нестандартного UI (RxAndroid 2 + RxBinding 2 + Butterknife 8.5) совместимость с версиями Android от 4.4 до 8.0

- Разработка функционала

- Модуль работы с сетью (Retrofit 2 + OkHttp 3 + PersistentCookieJar + Gson)

- Работа с базой данных SnappyDb (NoSQL + RxJava 2 + Dagger 2.7)

- Работа с сокетами для чатов и обратной связи с сервером (Socket.io + Eventbus 3)

- Обработка привилегий при необходимости (RxJava + Android 6+)

- Работа с галереей и камерой (RxPaparazzo + uCrop)

- Работа с изображениями в списках (Glide 3.8 + Glide-transformations 2)

- Отображение видео контента

- Разработка универсального списка (RecyclerView) с поддержкой различных типов элементов данных

- Релизация чата (Socket.io + Rest Http + Push)

- Внедрение аналитики

- Оценка сроков по выполнению задач

- Декомпозиция и постановка задач на разработку

- Проведение ревью кода

- Проведение собеседований

Достижения: Разработка и запуск полноценной соц. сети с полного нуля при отсутствии технического задания с постоянно изменяющимся дизайном и требованиями

Используемые технические средства:

Android Studio, Java, Android SDK,REST API (Web Servers), Android 4.4 – 8.0, Video, JIRA, Git, Gitlab, Swagger, Trello, Zeplin, Smartsheet

Разработка программного обеспечения на заказ
Нижний Новгород
TeamLeader
Октябрь 2016 — Март 2017 (6 месяцев)

Описание проекта:
Разработка клиентской части (Android-приложение) для совершения VoIP звонков для одного из крупнейших североамериканских провайдеров VoIP телефонии. (https://play.google.com/store/apps/details?id=com.ooma.office2)

Функции:
- Разработка плана рефакторинга частей системы для упрощения поддержки и улучшения архитектуры проекта,
- Реализация частей проекта согласно плану,
- Глобальный рефакторинг модуля Media системы для управления аудио, в том числе с поддержкой оборудования Bluetooth гарнитур,
- Рефакторинг модуля фоновой работы приложения (в Doze Mode),
- Контроль работы команды (7 человек),
- Проведение инспекции кода команды,
- Планирование задач на разработку,
- Постановка задач команде,
- Написание технической документации,
- Согласование работ с менеджером проекта,
- Консультация команды по технически вопросам,
- Оценка сроков по выполнению задач,
- Проведение собеседований на должности Senior/Architector Android Developer.

Достижения:
- В кратчайшие сроки была изучена техническая документация по проекту.
- В кратчайшие сроки была изучена работа с VoIP технологией.
- Переписан большой проблемный участок в проекте по работе с Audio и поддержке различных видов оборудования Bluetooth-гарнитур.
- Совместно с менеджером проекта более формализовали планирование и ведение проекта.

Используемые технические средства:
Android Studio, Java, Android SDK, Android NDK, REST API (Web Servers), Android 4.4 – 7.0, Audio, Bluetooth, pjsip, JIRA, Swarm, Jenkins, Perforce, Bugzilla

la

Разработка программного обеспечения на заказ
Нижний Новгород
Senior Software Engineer
Июль 2015 — Октябрь 2016 (1 год и 4 месяца)

Описание проекта:

Разработка клиентской части (Android-приложение) медицинской автоматизированной системы, предназначенной для поддержки здорового образа жизни пользователя

Функции:

- Разработка многопоточной программной архитектуры проекта

- Сбор требований и взаимодействие с заказчиком по техническим вопросам

- Написание технической документации

- Помощь заказчику в принятии решений для бизнес-партнерств

- Помощь заказчику в развертывании всей инфраструктуры проекта

- Консультирование команды заказчика по техническим вопросам

- Реализация модуля для работы с Couchbase Lite NoSQL БД

- Реализация модуля синхронизации данных с сервером

- Реализация модуля по работе с оборудованием через Bluetooth (весы, пульсометр, тонометр)

- Разработка языка описания сценариев в json формате

- Разработка интерпретатора языка сценариев

- Настройка и написание Unit-тестов

- Помощь команде по написанию Unit-тестов

- Контроль работы команды

- Проведение инспекции кода команды

- Планирование задач на разработку (Scrum Master)

- Постановка задач команде в Jira

- Согласование работ с менеджером проекта и заказчиком

- Консультация команды по технически вопросам

- Оценка сроков по выполнению задач

Достижения:

В кратчайшие сроки была изучена техническая документация по проекту.

В кратчайшие сроки была изучена работа с Couchbase Server NoSql.

Совместно с менеджером проекта был поставлен процесс разработки и написана необходимая техническая документация.

Занимал одну из ключевых позиций при разработке технических требований, технической документации и архитектурных решений по проекту.

Используемые технические средства: Java, Android SDK, Android 4.3 – 6.0, Couchbase Lite, Couchbase server, Sync Gateway, V8 JavaScript Engine, Yandex SpeechKit, JIRA, Gerrit, Jenkins, Git, Unt Tests

GameInsight
Нижний Новгород
senior android developer
Август 2011 — Июль 2015 (4 года)

- проектирование и разработка игровых механик (С++)

- портирование движка игры на платформу Android (Java, C++ NDK)

- поддержка всех разрешений экранов для телефонов и планшетов на базе Android (как отдельно под телефоны и планшеты, так и в одном единственном приложении)

- работа с OpenGL ES, OpenGL ES2

- работа со звуком (библиотека FMOD)

- интеграция In-App Billing в игру для приема платежей через Google Play (Android Market). Версии 2 и 3.

- интеграция In-App Billing в игру для приема платежей через Amazon. Версии 1 и 2. Amazon Coins.

- интеграция Game Circle (liderboard Amazon + achievements)

- интеграция Google Game Services (login/logout, liderboard + achievements)

- интеграция In-App Billing в игру для приема платежей через T-Store (Корея)

- интеграция In-App Billing в игру для приема платежей через Yandex Store

- интеграция In-App Billing в игру для приема платежей через Samsung Store

- работа с базой данных SQLite

- сборка приложений для Nook Color и Nook Tablet

- реализация системы локальных уведомлений

- синхронизация потоков Java и Native Threads (использование NDK)

- реализация системы локализации для поддержки различных языков

- реализация системы докачки контента (Http Requests)

- работа с WebView компонентом (интеграция с native UI render'ом)

- интеграция facebook (постинг сообщений, скриншотов с тегами, инвайты, друзья), OpenGraph

- интеграция twitter (постинг сообщений, auto following, постинг скриншотов)

- интеграция fabric (работа с twitter, answers, crashlytics)

- интеграция Вконтакте (постинг сообщений, работа с группами, скриншоты)

- работа с сервисами

- реализация системы взаимодействия с сервером (получение и отправка данных, статистики)

- SDK для сбора статистики (dev2dev, Flurry, Google Analytics, Chartboost, MAT, Fyber (различные медиации), Appsflyer)

- автоматизация сборки приложений с помощью Ant

- сборка приложения с поддержкой obb-файлов.

- работа с Zip-архивами

- проектирование архитектурных решений для разработки

- распределение задач на разработку (2 человека)

- Портирование проектов под Android Studio.

- Автоматизация сборки с помощью Gradle.

- Написание технической документации

- Опыт использования svn, git, perforce, jira, redmine.

Достижения:

С полного нуля поставлена разработка игр на собственном движке фирмы под платформу Android.

Выпущена игра TheTribez(Туземцы) под платформу Android(Google Play, T-Store, Amazon), которая занимает очень высокие позиции в рейтингах. Победитель КРИ-2013 - лучшая casual-игра 2013 года.

Выпущена игра The Tribez & Castlez (Туземцы и Замки) под платформу Android (Google Play, Amazon, Yandex, Samsung)).

Реализация с полного нуля JAVA движка для игры с взаимодействием через NDK (вызов java методов из C++ кода и С++ методов из JAVA кода) с синхронизацией потоков. Движок сделан в виде отдельной библиотеки (.jar) с удобной системой подключения для новых игр.

Добился работоспособности на платформах Android c версии 2.1 до 5.0, для устройств Nook Color, Nook Tablet, Amazon Kindle и остальных устройств на базе Android.

Частная практика, работа без зачисления в штат
Нижний Новгород
Senior Android Developer
Май 2011 — Май 2017 (6 лет и 1 месяц)

Android приложение для хранения медицинских показателей пользователя с развлекательными функциями

Функции:

- Разработка макетов экранов

- Разработка программы согласно требованиям

- Проектирование программной архитектуры

- Проектирование REST API

- Проектирование формата данных календарей для хранения и передачи с сервера

- Подсчет шагов на основе встроенного акселерометра

- Расчет биоритмов человека по дате рождения

- Расчет фаз луны

- Расчет содержания алкоголя в крови человека

Используемые библиотеки и технологии:

- Material Design и совместимость с версиями Android от 4.0.3 до 6.0

- Retrofit (OkHttp) для работы с HTTP REST

- Picasso для работы и загрузки изображений с сервера

- AppCompat, RecyclerView, CardView

- SnappyDb (NoSQL) в качестве базы данных

- Парсинг json-файлов со сложной структурой

Достижения: Разработка без четкого технического задания и в заданные сроки

Используемые технические средства: Java, Android SDK, Android 4.0 – 6.0, Material Design, Retrofit, OkHttp, HTTP REST, Picasso, SnappyDb NoSQL, Json

Проектирование и разработка под ключ приложения по определению входящих звонков (аналог Truecaller) (платформа Android, NDA)

- Проработка макетов и согласование с заказчиком

- Взаимодействие с художником и согласование дизайна для макетов

- Разработка программы

- Проектирование API для backend-сервера

- Проектирование программной архитектуры

- Координирование разработки

- Постановка задач на разработку команде

Используемые библиотеки и технологии:

- Material Design и совместимость с версиями Android от 4.0.3 до 5.1

- Retrofit (OkHttp) для работы с HTTP REST

- Picasso для работы и загрузки изображений с сервера

- Активное использование Gif-анимаций

- AppCompat, RecyclerView, CardView

- NoSQL база данных на клиенте

- Otto для передачи и обработки событий внутри приложения

- Facebook, Vkontakte SDK

- Работа с контактами и журналом звонков

- Перехват звонков для показа дополнительной информации во время звонка

Проектирование и разработка с нуля приложения для медицинских работников (платформа Android, NDA)

Функции:

- Разработка макетов программы

- Разработка программы согласно требованиям

- Проектирование программной архитектуры

Используемые библиотеки и технологии:

- Material Design и совместимость с версиями Android от 4.0.3 до 5.1

- Retrofit (OkHttp) для работы с HTTP REST

- Picasso для работы и загрузки изображений с сервера

- AppCompat, RecyclerView, CardView

- NoSQL база данных на клиенте

- Парсинг json-файлов со сложной структурой

- Выгрузка файлов на сервер

Разработка с нуля приложения для хранения бизнес карт и скидочных карт пользователя (платформа Android, NDA)

- Разработка программы

- Проектирование программной архитектуры

- Проектирование интерфейса пользователя

- Доработка библиотеки для обрезки изображений на основе cropper и photoview

- Кодревью и контроль кода еще 2-х разработчиков

Используемые библиотеки и технологии:

- Material Design и совместимость с версиями Android от 4.0.3 до 5.1

- Retrofit (OkHttp) для работы с HTTP REST

- Picasso для работы и загрузки изображений с сервера

- AppCompat, RecyclerView, CardView

- NoSQL в качестве клиентской базы данных

- Выгрузка файлов на сервер

- Zxing для работы со штрих-кодами

- Abbyy-сервер для распознавания изображения с камеры

Проектирование и разработка с нуля приложения для обмена фотографиями с друзьями (платформа Android (https://play.google.com/store/apps/details?id=com.picyou.app), сайт picyou.com - практически полный аналог для iOs приложения)

- поддержка android версий 2.3 - 4.3

- поддержка всех мобильных разрешений экранов

- реализация при помощи Fragments

- разработка собственных компонентов для нестандартного дизайна

- взаимодействие с сервером через REST API

- загрузка изображений с сервера в фоновом режиме

- выгрузка изображений на сервер

- анимация переходов между экранами

- использование PullToRefresh для обновления информации

- работа с камерой (стандартный компонент и разработка собственного для работы с камерой напрямую)

- авторизация с помощью oAuth (через email, facebook, twitter)

- постинг сообщений в facebook и twitter

- реализация компонента по обработке фотографий (move and scale)

- реализация фильтров для обработки фотографий с использованием NDK (создание библиотеки и адаптация кода на C++ под android платформу)

- адаптация фильтров-эффектов, основанных на шейдерах OpenGL под платформу Android (blur (radial/linear), sketch и др.)

- поддержка in-app purchase v3 для внутренних платежей google play.

- GPS локация

- поддержка уведомлений (Google Cloud Messaging)

- разработка чата для обмена сообщениями на основе Sockets, сервер на основе Faye

- использование в работе git (проект на github.com)

- trello - менеджер управления задачами

- доработка и сопровождение (пол года)

Достижения:

Проект был выполнен по всем требованиям и в кратчайшие сроки. По итогам была выплачена премия за качественное исполнение.

Проектирование и разработка с нуля коммерческого программного обеспечения для мониторинга автотранспорта (платформа Android - https://play.google.com/store/apps/details?id=com.raceit.trackgps)

- Проектирование программной архитектуры

- Разработка приложения (Android 2.2 - 4.2)

- Разработка нестандартных компонентов

- Разработка модуля взаимодействия с сервером (Web Service, SOAP)

- Google Maps v2 (прокладка маршрута)

- GPS локация

Достижения:

Работа выполнена в полном объеме без четкого Технического Задания в соответствии с заданным дизайном.

Проектирование и разработка с нуля коммерческого программного обеспечения для торговых представителей (Один из крупнейших поставщиков продуктов питания в Нижнем Новгороде) (платформа Android):

Функции:

- проектирование программной архитектуры;

- разработка модулей системы;

- обеспечение многопоточной схемы работы;

- обновление программного обеспечения (FTP);

- работа с базой данных SQLite (объем более 1,5 Гб)

- обновление базы данных

-- десериализация xml после выгрузки из 1С;

-- сложные запросы на создание, добавление, удаление и обновление данных;

-- XML SAX/DOM parser;

-- Web Service, SOAP;

-- HTTP Request;

- резервное копирование и восстановление базы данных и приложения (ZIP, SQLite);

- выгрузка на Web Service и обработка принятых данных;

- модуль журналирования событий приложения;

- отправка данных на email;

- контроль свободного дискового пространства;

- работа с GPS;

- пользовательский интерфейс

Достижения:

Проектирование системы с нуля.

В кратчайшие сроки изучена новая платформа Android и успешно разработано программное обеспечение под нее.

Tecom Group
Нижний Новгород
senior c++ developer
Декабрь 2010 — Август 2011 (9 месяцев)

Настройка, доработка и поддержка системы D-Series по автоматизации телевещания:

- проектирование модульных компонентов (для взаимодействия частей системы под Windows и Linux);

- настройка системы;

- разработка исталляционных пакетов для программных продуктов системы (Visual Studio 2008);

- багфикс, связанный с ошибками взаимодействия частей системы под Windows и Linux;

- работа с системой контроля версий Mercurial, управление проектами Redmine;

- разработка технической документации на английском языке.

Достижения:

Переработка библиотек и программных продуктов системы с Visual Studio 6 на Visual Studio 2008.

Внедрение и настройка продуктов системы в лаборатории (проект только передавался на поддержку в компанию).

ЗАО "НКТ"
Нижний Новгород
senior c++ developer
Август 2007 — Декабрь 2010 (3 года и 5 месяцев)

Карьерный рост с программиста до старшего программиста

Виртуализация приложения по очистке реестра:

-проектирование и разработка с нуля (C++, ATL, WTL, WinAPI, Visual Studio 2008);

-Web-интерфейс ПО.

Достижения:

По результатам завершения проекта получил повышение до старшего программиста.

Поддержка и доработка существующего ПО по авторингу DVD меню (Builder C++).

Достижения:

Получал положительные отзывы и благодарности от пользователей через отдел поддержки клиентов.

Проектирование и разработка с нуля компонента для отображения и редактирования DVD/BR меню (Builder C++):

-многопоточная схема работы;

-совместимость версий;

-автоматизация сборки с SVN.

Достижения:

Неоднократно получал премии за релизы новых версий.

Благодарности отдела тестирования за минимальное количество программных ошибок, а также своевременное и быстрое их исправление.

Разработанная универсальная схема синхронизации потоков при взаимодействии приложения с DLL использовалась в нескольких других проектах.

Разработанный компонент успешно внедрялся и применялся в 3 разных программных продуктах.

Профессиональная система компьютерного анализа футбольных матчей:

-разработка ActiveX-компонентов для анализа и вывода подробной статистики по матчам (С++, Visual Studio 2005);

-работа с мультимедиа (C++, GDI+, WinAPI, Visual Studio 2005);

-автоматизация приложений MS Office (C++, Visual Studio 2005);

-сопровождение и доработка существующего программного обеспечения (Builder С++);

Достижения:

Неоднократно получал премии за релизы новых версий.

Данный программный продукт выставлялся на выставке в ОАЭ.

Данная система продавалась не только в России, но и в других странах. Среди обладателей такие футбольные клубы, как: ФК Москва, ФК Зенит, ФК Шахтер и др. ФК Зенит и ФК Шахтер после приобретения выигрывали еврокубок и присылали благодарности.

ОАО "Промис"
Нижний Новгород
Разработчик программного обеспечения
Июль 2006 — Ноябрь 2006 (5 месяцев)

Проектирование и разработка ПО для проведения инвентаризации с помощью спец. оборудования, использующего технологию RFID.

(Pocket PC, Microsoft eMbedded Visual C++ SP4(чистый WinAPI)).

Достижения:

Изучена работа с неизвестным до этого оборудованием.

В полном объеме выполнено задание.

Получил премию по результатам завершения.

Высшее образование
Нижегородский государственный технический университет имени Р. Е. Алексеева
Нижний Новгород
Факультет: Институт радиоэлектроники и информационных технологий
Сентябрь 2006—Февраль 2008 (1 год и 5 месяцев)
Специалист по специальности компьютерные технологии в проектировании и производстве
Факультет: Институт радиоэлектроники и информационных технологий
Сентябрь 2002—Июнь 2006 (3 года и 9 месяцев)
Бакалавр по специальности компьютерные технологии в проектировании и производстве
Рекомендательные письма
shotman0
Developer • знакомый

High skilled Android developer. He did much work for us very quickly and pretty qualitatively.

Письмо написано 20 января 2014 в 08:10