Опыт работы
Июль 2015 — по настоящее время
Senior Software Engineer
Нижний Новгород
Обязанности и достижения

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

Функции:
- Разработка программной архитектуры проекта,
- Сбор требований и взаимодействие с заказчиком по техническим вопросам,
- Написание модуля работы с Couchbase Lite NoSQL БД,
- Разработка языка описания сценариев в json формате,
- Разработка интерпретатора языка сценариев,
- Разработка модуля по работе с оборудованием через Bluetooth,
- Настройка и создание Unit-тестов,
- Помощь команде по написанию Unit-тестов,
- Контроль работы команды,
- Проведение инспекции кода команды,
- Планирование задач на разработку,
- Постановка задач команде в Jira,
- Выступление в качестве Scrum-мастера,
- Написание технической документации,
- Согласование работ с менеджером проекта,
- Консультация команды по технически вопросам,
- Оценка сроков по выполнению задач

Достижения:
- В кратчайшие сроки была изучена техническая документация по проекту.
- В кратчайшие сроки была изучена работа с Couchbase Server NoSql.
- Совместно с менеджером проекта был поставлен процесс разработки и написана необходимая техническая документация.
- Помощь заказчику в принятии бизнес решений (командировка к потенциальным партнерам в качестве технического эксперта)

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

Май 2011 — по настоящее время
Senior Android Developer
Нижний Новгород
Обязанности и достижения

Проектирование и разработка под ключ приложения по определению входящих звонков (аналог Truecaller) (платформа Android, NDA)
- Проработка макетов и согласование с заказчиком
- Взаимодействие с художником и согласование дизайна для макетов
- Разработка программы
- Проектирование API для backend-сервера
- Проектирование программной архитектуры
- Координирование разработки 2 клиентских программистов и серверного программиста. Постановка задач на разработку.
Используемые библиотеки и технологии:
- Material Design и совместимость с версиями Android от 4.0.3 до 5.1
- Retrofit (OkHttp) для работы с HTTP REST
- Picasso для работы и загрузки изображений с сервера
- Активное использование Gif-анимаций
- AppCompat, RecyclerView, CardView
- SnappyDb (NoSQL) в качестве базы данных
- Otto для передачи и обработки событий внутри приложения
- Facebook, Vkontakte SDK
- Работа с контактами и журналом звонков
- Перехват звонков для показа дополнительной информации во время звонка

Проектирование и разработка с нуля приложения для медицинских работников (платформа Android, NDA)
- Проработка макетов программы
- Разработка программы согласно требованиям
- Проектирование программной архитектуры
Используемые библиотеки и технологии:
- Material Design и совместимость с версиями Android от 4.0.3 до 5.1
- Retrofit (OkHttp) для работы с HTTP REST
- Picasso для работы и загрузки изображений с сервера
- AppCompat, RecyclerView, CardView
- SnappyDb (NoSQL) в качестве базы данных
- Парсинг json-файлов со сложной структурой
- Выгрузка файлов на сервер

Разработка с нуля приложения для хранения бизнес карт и скидочных карт пользователя (платформа Android, NDA)
- Разработка программы согласно требованиям
- Проектирование программной архитектуры
Используемые библиотеки и технологии:
- Material Design и совместимость с версиями Android от 4.0.3 до 5.1
- Retrofit (OkHttp) для работы с HTTP REST
- Picasso для работы и загрузки изображений с сервера
- AppCompat, RecyclerView, CardView
- SnappyDb (NoSQL) в качестве базы данных
- Выгрузка файлов на сервер
- Zxing для работы со штрих-кодами
- Abbyy-сервер для распознавания изображения с камеры
- Доработка библиотеки для обрезки изображений на основе cropper и photoview
- Кодревью и контроль кода еще 2-х разработчиков

Проектирование и разработка с нуля приложения для обмена фотографиями с друзьями (платформа Android (https://play.google.com/store/apps/details?id=com.picyou.app), сайт picyou.com - практически полный аналог для iOs приложения)
- поддержка android версий 2.3 - 4.3
- поддержка всех разрешений экранов (не планшеты)
- реализация при помощи Fragments
- разработка собственных компонентов для нестандартного дизайна
- взаимодействие с сервером через REST API (POST, GET, PUT, DELETE requests)
- загрузка изображений с сервера в фоновом режиме
- аплоадинг изображений на сервер
- анимация переходов между экранами
- использование PullToRefresh для обновления информации
- работа с камерой (стандартный компонент и разработка собственного для работы с камерой напрямую)
- авторизация с помощью oAuth (через email, facebook, twitter)
- постинг сообщений в facebook и twitter
- реализация компонента по обработке фотографий (move and scale)
- взаимодействие с нативной библиотекой с использованием NDK: реализация фильтров для наложения на фотографии (создание библиотеки и адаптация кода на C++ под android платформу)
- адаптация фильтров-эффектов, основанных на шейдерах под платформу Android (blur (radial/linear), sketch и др.)
- поддержка in-app purchase v3 для внутренних платежей google play.
- GPS локация
- поддержка уведомлений (Google Cloud Message)
- разработка чата для обмена сообщениями на основе 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 и успешно разработано программное обеспечение под нее.

Август 2011 — Июль 2015
GameInsight
senior android developer
Нижний Новгород
Обязанности и достижения

- проектирование и разработка игровых механик (С++)
- портирование движка игры на платформу 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.

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

Настройка, доработка и поддержка системы D-Series по автоматизации телевещания:
- проектирование модульных компонентов (для взаимодействия частей системы под Windows и Linux);
- настройка системы;
- разработка исталляционных пакетов для программных продуктов системы (Visual Studio 2008);
- багфикс, связанный с ошибками взаимодействия частей системы под Windows и Linux;
- работа с системой контроля версий Mercurial, управление проектами Redmine;
- разработка технической документации на английском языке.
Достижения:
Переработка библиотек и программных продуктов системы с Visual Studio 6 на Visual Studio 2008.
Внедрение и настройка продуктов системы в лаборатории (проект только передавался на поддержку в компанию).

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

Виртуализация приложения по очистке реестра:
-проектирование и разработка с нуля (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
ОАО "Промис"
Разработчик программного обеспечения
Нижний Новгород
Обязанности и достижения

Проектирование и разработка ПО для проведения инвентаризации с помощью спец. оборудования, использующего технологию RFID.
(Pocket PC, Microsoft eMbedded Visual C++ SP4(чистый WinAPI)).
Достижения:
Изучена работа с неизвестным до этого оборудованием.
В полном объеме выполнено задание.

Высшее образование
Сентябрь 2006 — Февраль 2008
НГТУ-Нижний Новгород
Институт радиоэлектроники и информационных технологий
Нижний Новгород
Специализация и достижения

Специалист по специальности компьютерные технологии в проектировании и производстве

Сентябрь 2002 — Июнь 2006
НГТУ-Нижний Новгород
Институт радиоэлектроники и информационных технологий
Нижний Новгород
Специализация и достижения

Бакалавр по специальности компьютерные технологии в проектировании и производстве

Рекомендательные письма
Developer • знакомый

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

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