Евгений Батогов

Team Leader, Software Architect

Местоположение

Проживание: Россия, Москва

Готовность к работе: готов к удаленной работе

Возраст и стаж

Стаж: 16 лет и 5 месяцев

Возраст: 39 лет

Зарплатные ожидания: От 190000 руб.

Контактная информация


Профессиональные навыки


Ruby • Java • JavaScript • Elixir • Linux • PostgreSQL • MongoDB • Git • Docker • Высоконагруженные системы

Опыт работы


Декабрь 2017 —
По наст. время
(1 год и 1 месяц)

CTI

Руководитель группы разработки (Team Lead)
Россия, Москва

Обязанности и достижения

• руководство командой из 12 человек по Lean-Kanban;

• успешный выпуск двух мажорных версий продукта на новейших технологиях представленных в разделе ниже

• внедрение пилотов продукта;

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

• демонстрация продукта заказчикам.

Июнь 2015 —
Ноябрь 2017
(2 года и 6 месяцев)

CTI

Заместитель директора R&D по технологическому развитию (+ Team & Tech Lead, DevOps)
Россия, Москва

Обязанности и достижения

• Осуществлена смена технологического стека на Erlang/OTP (Elixir + Phoenix Framework) и VueJS 2.x

• Осуществлено обучение всего отдела QA автоматизации тестирования на основе Ruby (Capybara, Siteprism, ChromeDriver).

• Изучен и внедрен для тестирования и разработки Docker и docker-compose.

• Участие в более чем 30 пресейлах с реализацией прототипов и оценкой трудозатрат.

• Обучение и консультация коллег по переходу на Kanban.

• Произведен анализ и сокращение лишних затрат согласно Lean Thinking.

Проекты:

~ Проект по сборку и анализу статистики для заказного IPTV-решения

• В данном проекте было решено использовать ElasticStack (ElacticSearch, Logstash, Kibana).

• Кластерный вариант решения на Docker, был продемонстрирован руководству заказчика.

• Проведено нагрузочное тестирование с помощью Tsung. Далее решение было развернуто в боевом окружении заказчика на отдельных виртуальных машинах.

~ Проект по омниканальности контакт-центров

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

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

• Для данного проекта была c нуля сформирована команда из Ruby-разработчиков (5 человек), которая была успешно переведена на язык Elixir и функциональную парадигму.

• В данном проекте не использовались аналитики, а с самого начала была внедрена методика Specification By Example и написание сценариев на Gherkin. Это позволило сократить переработки задач в случае двусмысленности требований, а также весь пул работ был четко разбит на отдельные задачи с привязанными сценариями к ним.

• Кроме того, на проекте был использован GraphQL для организации API. А также интенсивно используются WebSockets для организации realtime взаимодействия между клиентами и операторами.

Март 2013 —
Май 2015
(2 года и 3 месяца)

CTI

Архитектор ПО
Россия, Москва

Обязанности и достижения

• Осуществлена смена технологического стека на RubyOnRails. Сформирована с нуля команда разработчиков на Ruby.

• Разработка системы web-конференций (Ruby 2, Rails 4, MongoDB 3, Redis). > 10 интеграций с внешними системами.

• Разработка портала для облачных услуг (Ruby 2, Rails 4, MongoDB 3, Redis, AngularJS 1.3, Grape).

• Доработка bug tracker Redmine для нужд компании (3 плагина + создание сборки из ~40 плагинов)

• Руководство командой из 8 человек.

• Внедрение процесса разработки на основе Kanban и Lean

• DevOps работы по автоматизации развертывания и обеспечения качественного мониторинга работающей системы.

Февраль 2009 —
Февраль 2013
(4 года и 1 месяц)

CTI

Ведущий инженер-программист
Россия, Москва

Обязанности и достижения

~ Разработка и реализация архитектуры новой версии платформы IPTV

с переписыванием почти всего функционала. (>100k строк кода на Java). Это был основной продукт компании.

Стек на серверной стороне: Java (Spring, Restlets, Hibernate, Memcached)

~ Проектирование и разработка подсистемы кэширования в IPTV-платформе

Так как система представляла из себя высоконагруженную платформу (> 2000 req/s на сервер), то необходимо было реализовать с нуля подсистему кеширования, которая бы обеспечила устойчивость платформы под нагрузкой. Реализовал с нуля 4-х уровневую систему кэширования на основе memcached, nginx и java-библиотеки spymemcached. Внедрялась в код она с помощью AОП (AspectJ). Мною было произведено > 10 нагрузочных тестов, в результате которых система выдерживала нагрузку > 5000 req/s на сервер при загрузке CPU около 40%. Основной сложностью было обеспечить инвалидацию кеша в различных обстоятельствах.

~ Переход на c SOAP на REST API

Уже в 2010м году IPTV-решение перешло на REST API с помощью java-библиотеки Restlets, позволяющей создать облако ресурсов и полностью поддержать RFC 2616 HTTP 1.1.

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

~ Реализация модуля получения скриншотов с потоков вещания

Для обеспечения отображения мозаики со скриншотами текущих передач, был реализован модуль на Java, который запускал плеер VLC и с его помощью получал скриншоты. Далее с помощью ImageMagick делал несколько их копий в разном разрешении и помещал их всех в отдельный кластер memcached.

~ Реализация отправки сообщений от администратора на приставки и SmartTV

Еще до появления WebSockets, был реализован модуль отправки realtime сообщений на портал IPTV с помощью long-pooling. Реализовано все это было с помощью nginx и его модуля push_stream. Также была реализована поддержка распространения сообщений по кластеру.

Апрель 2007 —
Январь 2009
(1 год и 10 месяцев)

CTI

Инженер программист
Россия, Москва

Обязанности и достижения

Сопровождение текущей на тот момент версии платформа IPTV
Стек на Java (EJB2, Struts, JSF, Hibernate(Oracle, PostgreSQL, MS SQL Server)

Август 2002 —
Апрель 2007
(4 года и 9 месяцев)

ВС РФ

Помощник начальника отдела автоматизации
Россия, Щелково

Обязанности и достижения

Разработка web-приложения для МО РФ на Java. (Hibernate, EJB 2, JSF)
Она использовалась для отображения информации получаемой с большинства воинских частей по всей РФ


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


Август 1997 —
Июнь 2002

Череповецкий военный инженерный институт радиоэлектроники; ЧВВИУРЭ

Вычислительные машины, комплексы, системы м сети
Россия, Череповец

Специализация и достижения

Специализация: вычислительные машины, комплексы, системы и сети.

  • средний бал: 4.9
  • красный диплом


Среднее специальное образование


Сентябрь 1994 —
Июнь 1997

уч. 11, Профессиональное

ПМТ
Россия, Няндома

Специализация и достижения

Помощник машиниста тепловоза


О себе


Ключевые навыки


Обо мне

В людях и командах прежде всего ценю открытость новому. При построении команды, стараюсь обеспечить психологическую безопасность и доверие внутри коллектива. Сам постоянно слежу за новыми языками, технологиями и направлениями развития в области разработки ПО. Постоянно занимаюсь самообразованием по нескольким направлениям, в основном через чтение книг.

Так как уже более 12 лет использую Linux в качестве основной платформы для работы, то к решениям на базе продуктов Microsoft отношусь достаточно прохладно и стараюсь всячески избегать работы с ними.

Достаточно самоорганизован и дисциплинирован. Практически не нуждаюсь в дополнительной мотивации к работе, так как умею мотивировать себя самостоятельно.

Предпочитаю только гибкий график работы: 1-2 дня в неделю в офисе, остальное время удаленно. Это позволяет:

Ищу коллективы, в которых руководство относится к разработчикам как к основным сотрудникам и старается понять их потребности. Неприятны люди, которые не терпят никаких перемен и ни учатся новому.

Не пью, не курю и никому не советую этого делать, скорее наоборот. Веду здоровый образ жизни: занимаюсь бегом и лыжами. Люблю футбол, баскетбол.


Языки: