[ in English ]

Сильные стороны

  • Способность выполнять техническую часть проекта целиком:
    • Уточнение ТЗ.
    • Выбор средств и технологий для реализации.
    • Анализ предметной области, изучение существующих подходов к реализации и исследований по теме.
    • Формирование требований для разработки и их уточнение в ходе реализации проекта при изменении ТЗ, по результатам кодирования и тестирования.
    • Согласование протоколов обмена данными со смежными командами.
    • Формулирование задач разработчикам, анализ результатов, инспекция кода.
    • Реализация в коде, оптимизация производительности.
  • Реализация наукоёмких задач:
    • Построение моделей.
    • Анализ публикаций по теме.
    • Реализация прототипа.
    • Формирование плана и целей верификации.
    • Обработка частных случаев. Получение конечного программного продукта.

Опыт (кратко)

Операционные системы Хорошее знание GNU/Linux и других UNIX-подобных систем. Базовое знание Microsoft Windows
СУБД Oracle, SQLite, MySQL
Языки программирования C, C++, Tcl, Shell, Java
Техники программированияОбъектно-оирентированное программирование и проектирование, структурное и событийное программирование. Предметно-ориентированные языки.
Библиотеки OpenCV, STL, Qt, Tk, FUSE
Утилиты yacc/flex, antlr, Ragel, gdb, все стандартные UNIX-утилиты
Системы контроля версийGit, Mercurial
Математические пакеты Maple, Maxima
Иностранные языки English (Intermediate)

Опыт по областям

  • Обработка медиапотоков:
    • Обнаружение дефектов видеокодирования;
    • Обнаружение объектов на изображении;
    • Вычисление цифровых отпечатков видео и аудио;
    • Сравнение медиапотоков: контроль замены контента, вычисление степени различий;
    • Поиск клипов в потоке;
    • Оценка правильности синхронизации видео- и аудио-дорожки (LipSync).
  • Автоматизация измерений:
    • Разработка рабочих мест и стендового оборудования:
      • Схемы соединений и коммутации;
      • Принципиальные электрические схемы;
    • Удалённое управление измерительным оборудованием (в основном Rohde&Schwarz и Agilent);
    • Разработка системы автоматизированного тестирования;
    • Сбор и обработка данных измерений.
  • Разработка встраиваемых систем:
    • Программирование под ARM-микропроцессоры (STM32);
    • Разработка схемы подключения процессора и обвязки;
    • Написание сервисных утилит: программаторы, эмуляторы, удалённое управление.
  • Вычислительная топология:
    • Комбинаторная оптимизация на полиэдрах;
    • Вычисление топологических характеристик;
    • Классификация 3D-объектов;
    • Разработка и доказательство алгоритмов;
    • Реализация алгоритмов (C++).
  • UNIX/Linux:
    • Создание дистрибутивов для ARM-устройств с лимитированными ресурсами, обработка сценариев сброса/перепрошивки, анализ неисправностей;
    • Сценарии инсталляции и обслуживания сети UNIX-машин;
    • Файловые системы пространства пользователя (FUSE).
  • БД:
    • Разработка схемы базы данных;
    • Оптимизация запросов;
    • Проблемно-ориентированные языки доступа к данным;
    • Сбор данных в распределённой системе.
  • Организация процесса разработки:
    • Документы по внесению изменений в код, работе с системами контроля версий и отслеживания ошибок;
    • Репозиторий исходного кода;
    • Непрерывная интеграция;
    • Инспекция кода.

Опыт работы

Кьюлиджент.ру, Нижний Новгород, Россия

Мониторинг качества медиасервисов.

Время: Август 2015 — н.в.

Инструменты/технологии: C++, OpenCV

  • Исследование и реализация новой функциональности:
    • алгоритм вычисления уровня макроблокинга (без наличия исходного несжатого потока).
    • модуль сравнения медиапотоков (синхронизация, определение замены контента, оценка степени различий).
    • модуль вычисления величины рассинхронизации видео- и аудио-потоков (LipSync).
    • модуль поиска изображений в видеопотоке.
    • модуль поиска бегущей строки.
  • Микроанализаторы на ARM-платформе:
    • Формирование Linux-дистрибутива.
    • Настройка технологических режимов загрузчика, модификация ядра под новое периферийное оборудование, обработка ошибок при развёртывании.
    • Разработка плана развёртывания системы из нескольких тысяч микроанализаторов.
  • Доработка и исправление кода:
    • Оптимизация алгоритмов анализа изображений.
    • Исправление проблем многопоточности.
    • Оптимизация под высокие нагрузки.
    • Разработка новых модулей.
    • Согласование протоколов обмена со смежными командами.
    • Анализ и исправление ошибок.
  • Поддержка:
    • Решение проблем команды внедрения.
    • Написание руководств по локализации ошибок.
    • Проведение тренингов по функциональности для тестеров и команды внедрения.
  • Интеллектуальная собственность:
    • Участие в подготовке патентных заявок.
    • Анализ публикаций и патентов по теме разработки.

ООО НПП «Прима», Нижний Новгород, Россия

Автоматизация измерений

Время: Июнь 2012 — Август 2015

Инструменты/технологии: Tcl, C, P-CAD, SCPI

Разработка системы автоматического обмера/проверки оборудования:

  • Формирование методик измерений и согласование с отделом метрологии.
  • Разработка стендового оборудования (электрические схемы, схемы соединения).
  • Разработка программного комплекса для измерений:
    • реализация библиотеки для доступа к оборудованию;
    • фреймворк для написания сценариев тестирования;
    • реализация сценариев тестирования;
    • удалённое управление оборудованием;
    • выгрузка результатов в БД;
    • построение отчётов.

Эмуляторы, сервисные утилиты. Программирование микропроцессоров.

Время: Май 2010 — Август 2014 Инструменты/технологии: Tcl, C, P-CAD, SCPI

  • Доработка встраиваемого программного обеспечения.
  • Разработка сервисных утилит для управления, прошивки, измерений.
  • Внедрение системы контроля версий.
  • Участие в подготовке сертификации по требованиям КТ-178Б.

ННГУ им. Н.И.Лобачевского, Нижний Новгород, Россия

Исследования и преподавание

Время: Сентябрь 2011 — июнь 2013

  • Исследования в области вычислительной топологии.
  • Лекции и практические занятия по комбинаторным алгоритмам, практические занятия по вычислительной топологии.

Мера НН, Нижний Новгород, Россия

Система документооборота

Время: Сентябрь 2009 — май 2010

Инструменты/технологии: Java, JBoss Seam, Tcl

  • Реализация генератора бизнес-процессов (компилятор конечного автомата в Java-код).
  • Разработка новой функциональности, написание спецификаций.

Инструменты для конфигурации и обработки ошибок

Время: Декабрь 2008 - сентябрь 2009

Инструменты/технологии: Tcl, Shell, C++

Разработка сценариев и пользовательских интерфейсов, рефакторинг.

Геоинформационная система с веб-интерфейсом

Время: Июнь 2007 — декабрь 2008

Инструменты/технологии: Java, J2EE, antlr

  • Разработка диалекта SQL для доступа к данным;
  • Генератор отчётов;
  • Реализация алгоритмов подсчёта метрик;
  • Геоинформация: связь с Google Maps, наглядное отображение метрик;
  • Веб-интерфейс (формы, экспорт в HTML).

Сценарии инсталляции и обслуживания сети UNIX-машин

Время: Июнь 2006 - июнь 2007 Инструменты/технологии: Tcl, Shell, C

  • Разработка сценариев инсталляции/апгрейда/бэкапа сети UNIX-машин.
  • Исправление ошибок, реализация новой функциональности и автоматизированных тестов.

Преподавательская деятельность

ПродолжительностьОписаниеМесто
Сентябрь 2011 — июнь 2013 Комбинаторные алгоритмы: лекции и практические занятия ННГУ им. Н.И.Лобачевского
Сентябрь 2010 — декабрь 2013 Вычислительная топология: лабораторные работы ННГУ им. Н.И.Лобачевского
Октябрь 2009 — декабрь 2009 Java: лекции НГТУ им. Р.Е.Алексеева

Образование

Высшее образование

ННГУ им. Н.И.Лобачевского, механико-математический факультет, кафедра геометрии и высшей алгебры, 2005 — 2011.

  • Специалист (01.01.00).
  • Область исследований: вычислительная топология.

Аспирантура

ННГУ им. Н.И.Лобачевского, механико-математический факультет, кафедра геометрии и высшей алгебры, 2011 — 2014.

  • Специальность: геометрия и топология (01.01.04).
  • Область исследований: вычислительная топология.
  • Статус диссертации: не завершена.

Публикации

OpenSource-проекты

  • fuse-zip - файловая система пространства пользователя для работы с ZIP-архивами. Автор.
  • Дополнения и исправление ошибок: POCO C++ Libraries, systemd, sqlite-jdbc, dbus-tcl

Контакты

Место жительства: Нижний Новгород, Россия

Электронная почта: al@galanin.nnov.ru