Директор департамента разработки
с 11.2019 - По настоящий момент |ООО "Р-Вижн"
TypeScript, Rust, Python, C++, Kotlin, Nest.js, React.js, Actix-Web, Fastify, Ext.js, PostgreSQL, Clickhouse, ArangoDB, Redis, RocksDB, ElasticSearch, gRPC, Kafka, Docker + Compose, Nats, Kubernetes, Vector, Consul, Vault
- В качестве лидера команды руководителей департамента занимался их фокусировкой, мотивацией и развитием.
- Для увеличения уровня осознанности руководителей и команд, реализовал систему управления бюджетами команд самими командами на основе набора правил и инструментов контроля.
- В качестве руководителя разработки участвовал в формировании и реализации долгосрочной стратегии компании.
- Выстроил минимально достаточную систему метрик.
- Благодаря в том числе моим действиям, продуктовый портфель увеличился почти в 2 раза: с 4 до 7 продуктов.
Чем не занимался и кем не являюсь:
- не отвечал за продуктовую стратегию и формирование продуктового подразделения (владельцы продуктов, системные аналитики, дизайнеры). За данную задачу отвечал CEO компании;
- практически не писал код продуктов руками, не работал "играющим тренером" для разработчиков.
Директор департамента разработки
с 11.2019 - По настоящий момент |ООО "Р-Вижн"
TypeScript, Rust, Python, C++, Kotlin, Nest.js, React.js, Actix-Web, Fastify, Ext.js, PostgreSQL, Clickhouse, ArangoDB, Redis, RocksDB, ElasticSearch, gRPC, Kafka, Docker + Compose, Nats, Kubernetes, Vector, Consul, Vault
По максимуму убрал самописные "костыли" и выстроил внутреннюю экосистему рабочих инструментов в департаменте и компании:
- Систему управления задачами на базе Jira с автоматизированным учетом расходов компании на разработку с возможностью декомпозиции по продуктам/клиентам/различным типам задач и багов/фичам и т.д. без необходимости явного логирования времени исполнителем.
- Удиную базу знаний и корппортал на базе Confluence.
- CI\CD на базе Selfhosted Gitlab Pipelines + Jenkins BlueOcean.
- Систему автоматизации тестирования с использованием WebDriver, Selenide, Selenoid, Allure, Docker. MVP как инфраструктуры, так и самого проекта автотестов, сделал сам, обучил первых автоматизаторов, которые затем приступили к обучению всех ручных тестировщиков практикам написания автотестов. На данный момент практически все тестировщики компании занимаются расширением покрытия продуктов автотестами (на данный момент более 2500 тестов), в следующем году планируется отказ от ручного тестирования.
- Сформировал внутреннюю команду Application Security, внедрил практики безопасной разработки (SSDLC), отладил воспроизводимые процессы сертификации продуктов компании, внедрил инструментарий Dependency Check, Dependency Track, DefectDojo и т.д. На данный момент команда AppSec вместе с ФСТЭК и ИСП РАН занимается формированием новых гос.стандартов сертификации отечественного ПО, а также является мейнтейнером безопасной версии NodeJS.
- Внедрил BI-систему на базе Metabase.
- Реализовал систему агрегации активностей сотрудников во всех корпоративных инструментах, использовал в первую очередь для оперативного отслеживания выгорания сотрудников и возникающих конфликтов.
- Перевел все продукты компании на контейнерные технологии.
Директор департамента разработки
с 11.2019 - По настоящий момент |ООО "Р-Вижн"
TypeScript, Rust, Python, C++, Kotlin, Nest.js, React.js, Actix-Web, Fastify, Ext.js, PostgreSQL, Clickhouse, ArangoDB, Redis, RocksDB, ElasticSearch, gRPC, Kafka, Docker + Compose, Nats, Kubernetes, Vector, Consul, Vault
Переставил компанию с рельс стартапа на системные рабочие рельсы:
- Увеличил команду разработки с 40 до ~150 человек.
- Вырастил на базе 4 начальных команд более 20 продуктовых и сервисных команд, сформировал продуктовые юниты.
Сформировал рабочие процессы:
- Взаимодействия и синхронизации между департаментами компании и командами внутри департамента.
- Найма, увольнения, перфоманса, промо и ротации специалистов.
- Систему "самоочистки" команд от неэффективных сотрудников.
- Внутреннего и внешнего обучения сотрудников.
- Формирования и развития внутреннего и внешнего HR-бренда компании как сильного игрока на рынке разработки.
- Управления внутренним (работа с техдолгом, стабильностью и производительностью продуктов) и внешним (контроль уровня багов, простота инсталляции и настройки и т.д.) качеством.
- Выстроил систему непрерывной оптимизации и развития процессов без моего участия.
- Участвовал в формировании и обучении команды автоматизации бизнес-процессов компании. Что привело в итоге к тому, что все подразделения компании (в т.ч. юридический отдел, кадры и бухгалтерия) работают в единой системе управления задачами (Jira). В том числе сам на начальном этапе настраивал обвязку и писал скрипты автоматизации бизнес-процессов.
Технический директор
12.2014 - 09.2019 |Группа Компаний "Фонд Общественное Мнение"
PHP, Go, Java, Laravel, Yii, Vue.js, Angular, React, MySQL, PostgreSQL, Redis, MongoDB, RabbitMQ, ElasticSearch, Minio, Gitlab, Jira, Confluence, Postman, Sonarqube, Docker, Portainer, Zabbix, Prometheus, Grafana, Metabase, Matomo, Jenkins, Selenium, Selenoid, Reportportal, Mattermost
Основные обязанности:
- Найм, обучение, мотивация и контроль сотрудников.
- Создание, оптимизация и контроль рабочих процессов технического департамента.
- Бюджетирование (штатное расписание, кадровый план, формирование и утверждение бюджетов, закупка оборудования/ПО и т.д.).
- Формирование стратегии развития программных продуктов и создание продуктовых планов.
- Формирование стратегии развития IT-инфраструктуры и обеспечение ее бесперебойной работы.
- Контроль сроков и качества выполнения работ технического департамента.
- Отчетность перед топ-менеджментом группы компаний.
- Работа с поставщиками, клиентами и подрядчиками (коммуникация, организация процессов взаимодействия, документооборот).
- Техническое сопровождение участия в тендерах.
- Ревью кода и принятие архитектурных решений.
- Написание компонентов экосистемы онлайн-сервисов компании в процессе переводе ее на SoA.
Технический директор
12.2014 - 09.2019 |Группа Компаний "Фонд Общественное Мнение"
PHP, Go, Java, Laravel, Yii, Vue.js, Angular, React, MySQL, PostgreSQL, Redis, MongoDB, RabbitMQ, ElasticSearch, Minio, Gitlab, Jira, Confluence, Postman, Sonarqube, Docker, Portainer, Zabbix, Prometheus, Grafana, Metabase, Matomo, Jenkins, Selenium, Selenoid, Reportportal, Mattermost
Перевел компанию с аутсорса на инхаус-разработку и создал с нуля департамент разработки продуктов:
- Собрал эффективную команду продуктологов, менеджеров проектов, дизайнеров, разработчиков, тестировщиков, системных администраторов и специалистов техподдержки.
- Организовал гибкие процессы продуктовой разработки (Scrum, Kanban).
- Интегрировал процессы продуктовой разработки в общие процессы группы компаний.
- Выстроил систему рабочих инструментов: CI, CD, инструменты управления проектами и документацией, ревью и статического анализа кода, автоматизации тестирования и т.д.
- Создал автоматизированную систему планирования и отчетности, позволяющую без ручного списания времени создавать отчеты как по конкретным специалистам и типам работ, так и по разрабатываемым продуктам с погрешностью измерения в 1 час.
Под моим руководством было реализовано и запущено большое количество онлайн-сервисов, сайтов и внутренних инструментов компании, таких как:
- Краудсорсинговая B2B (клиенты: Сбербанк, PwC, Рамблер, 1 канал и т.д.) и B2G (клиенты: Минздрав, АСИ, РАНХиГС и т.д.).
- Сервис для создания сложных программируемых опросных форм со своим метаязыком и проведения онлайн-опросов (setefom.ru).
- Сервис проведения всероссийских онлайн фокус-групп и тестирования реакции географически распределенных групп респондентов на видеоконтент в режиме реального времени.
- Медиа и новостные порталы (zapovednik.space, zdrav.fom.ru, pole.fom.ru, fom.ru и т.д.);
- Собственная единая CMS-система для всех медийных сайтов.
- Единая система кроссавторизации пользователей для онлайн-сервисов компании (id.fom.ru).
Директор по разработке и развитию продукта
09.2013 - 05.2014 |ООО "Йополис"
PHP, Yii, Java, JS, Twig, PostgreSQL, Redis
Возглавлял разработку платформы социальных инициатив и электронной демократии"Йополис" в одной из дочерних компаний ГК "Связной". В моем прямом подчинении были технический и IT-директоры, а также проектный офис.
За время работы в компании:
- провел реорганизацию технического департамента (реализовал новую структуру технического департамента, провел оптимизацию кадров, формализовал новое штатное расписание и кадровый план);
- организовал продуктовые процессы в компании;
- внедрил экосистему рабочих инструментов для разработки, управления документацией, непрерывной интеграции и поставки и т.д.;
- реализовал работы по переходу на SoA;
- реализовал мотивационную систему в техническом департаменте;
- внедрил CI и CD (с 1 релиза в 1-2 недели до 7 релизов в день);
- ввел в работу практики гибкой разработки;
- реализовал систему непрерывного аудита ключевых параметров качества работы технического департамента.
Обязанности:
- управление техническим департаментом (>25 человек);
- формирование стратегии развития программного продукта;
- создание и оптимизация рабочих процессов компании;
- решение вопросов бюджетирования технического департамента (кадровый план, з/п, закупка оборудования и т.д.).
Руководитель направления обеспечения и контроля качества
05.2008 - 08.2013 |HeadHunter
Debian, Ubuntu, Nginx, Apache, PostgreSQL, MySQL, Jetty, Resin, Tomcat
C нуля создал подразделение обеспечения и контроля качества:
- Создал распределенную международную команду обеспечения и контроля качества (>20 человек).
- Занимался обучением, мотивацией сотрудников, проведением внутренних тренингов.
- Занимался организацией и улучшением процессов тестирования.
- Создал систему интеграции новых сотрудников в рабочие процессы компании.
- Создал систему continious delivery (1-7 релизов в день).
- Выстроил систему требований к процессу разработки.
- Участвовал в разработке требований к выпускаемому продукту.
- Адаптировал процессы разработки и тестирования к новым методологиям.
- Консультировал сотрудников технического департамента компании по вопросам обеспечения и контроля качества выпускаемого продукта.
- Участвовал в написании тестовой документации.
- Внедрил и поддерживал систему менеджмента тестовой документации (на базе TestLink).
- Написал фреймворк и поддерживал в актуальном состоянии тестовые наборы
автоматизированного функционального тестирования продукта (Selenium, TestNG), ~3000 активных тест-кейсов (~7000 - совокупное число тестов на момент ухода из компании).
- Добился полной автоматизация приемочного тестирования релизов.
- Настроил систему сбора статистики тестирования и создания отчетов.
- Участвовал в создании и поддержкаи системы администрирования тестовых и разработческих стендов (Debian/Ubuntu+Nginx/Apache+PostgreSQL/MySQL+Jetty/Resin/Tomcat).
- Внедрил, поддерживал, оптимизировал и занимался развитием сервисов continuous integration (Jenkins/Bamboo) и системы статического (Sonar) и динамического (JaCoCo Java Agent + Sonar) анализа кода.
- Создал новое workflow для полного цикла разработки.
- Создал систему обработки и сопровождения задач технической поддержки пользователей.
- Участвовал в создании системы по отслеживанию, контролю и оптимизации простоев продакшена.
Инженер по автоматизированному тестированию
07.2006 - 02.2008 |Acronis, acronis.com
-
Пришел в компанию в качестве дежурного тестировщика, закончил на позиции специалиста по автоматизации тестирования консольных модулей корпоративных продуктов компании (True Image Enterprise Server).
Обязанности:
- разработка тестовых сценариев;
- создание тестовых скриптов;
- поддержание тестовых скриптов в актуальном состоянии в процессе модификации системы;
- анализ результатов тестовых прогонов;
- анализ уровня достигнутого тестового покрытия;
- администрирование тестовых стендов.
Инженер
06.2006 - 10.2007 |ЗАО "Хруничев Авиатехника"
-
Участвовал в изменении процессов производства самолета Т-411 Аист.
Обязанности:
- Создание трехмерных твердотельных моделей элементов конструкции ЛА.
Преподаватель
08.2003 - 01.2004 |ФМШ МАИ
-
- Вел семинарские занятия по математике у студентов физмат-школы при Московском Авиационном Институте.