Интервью: 8 вопросов техническому менеджеру компании Netcracker Юрию Глушанину

25 июля 2017, 11:57

Юрий Глушанин рассказывает об интересных проектах, разрушает стереотипы и делится советами по карьерному развитию.

Свою карьеру Юрий начал в московском офисе Netcracker, а после открытия офиса компании в Минске вернулся на родину, в Беларусь. В настоящее время он является техническим менеджером, руководит проектными командами и отделом интеграции и миграции из 20 человек.

1. Сколько времени ты работаешь в Netcracker? В каких проектах принимал участие за это время?

В Netcracker я работаю с апреля 2010 года. В настоящее время я участвую в разработке Assurance системы для крупного европейского телеком-провайдера. Сначала меня подключили к команде в качестве разработчика, затем я стал выполнять задачи DEV лида, а в последние годы являюсь техническим менеджером проекта и линейным руководителем отдела из 20 человек в минском офисе. За 7 лет, которые я работаю в компании, для этого заказчика мы успешно выполнили 25 крупных релизов длительностью от нескольких месяцев до полугода, сейчас выдали 26-й релиз на внешнее E2E тестирование, начали разработку 27-го и обсуждаем 28-й. Таким образом, мы ввели в эксплуатацию сотни бизнес-требований заказчика.

Кроме этого, я регулярно принимаю участие во внутренних активностях нашей компании. Например, в прошлом году курировал в нашем Учебном центре на базе БГУИР практические занятия для студентов, пять из которых сейчас работают в Netcracker; разрабатывал небольшой прототип для демонстрации нашего решения потенциальному заказчику из юго-восточной Азии; участвовал в первом отборе кандидатов при открытии воронежского офиса; а в прошлом месяце участвовал в защите CMMI Level 5, так как мой проект был выбран для аудита.

2. В каких ролях ты пробовал себя в компании?

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

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

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

В роли технического менеджера я помогаю проектной команде решать всевозможные организационные проблемы, начиная с планирования задач и отведения новых SVN веток и заканчивая передачей проекта в Post Production Support. Кроме того, я – point of contact для заказчика по всем техническим вопросам.

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

 Мне однозначно нравится такой широкий спектр задач. Во-первых, я не помню ни одного дня, чтобы мне было скучно на работе. Во-вторых, это дает мне возможность развиваться в различных областях.

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

3. Расскажи о проекте, который принес тебе наибольший профессиональный опыт.

Мне сразу вспоминается несколько очень сложных и интересных проектов, расскажу про один из последних. Это был, так называемый, Upgrade проект, который длился с мая 2016г. по февраль 2017г.

Перед нами стояла задача перевести все кастомные модули заказчика на самую свежую платформу Netcracker. Upgrade также подразумевал переход с Oracle 11 на Oracle 12, с Weblogic 11 на Weblogic 12, с Java 6 на Java 8, планировалось новая кластерная архитектура на новом железе и внедрялась Exadata. Одним словом, меняли всё.

Задача усложнялась тем, что в параллельном стриме шла разработка новых функциональных требований, а значит необходимо было учесть полную регрессию всех кейсов на новой платформе с многочисленными мержами и ребейзами. Кроме очевидного требования обеспечить выполнение всех ранее поддерживаемых критериев по производительности системы, мы должны были осуществить миграцию Production окружения за 12 часов, чтобы не влиять на распорядок работы офисов заказчика по всей стране.

За время работы над проектом было решено огромное количество технических проблем разной сложности, связанных с deprecated API, с измененной структурой базы данных, новым поведением и с дефектами в third party компонентах. Нами был подготовлен дистрибутив, состоящий из более чем 150 обновленных продуктовых компонентов Netcracker’a и из полсотни проектных модулей. Дистрибутив позволял в автоматическом режиме создать новый распределенный кластерный домен Weblogic’a со всей application инфраструктурой и выполнял все необходимые преобразования в базе. Мы оптимизировали каждый миграционный скрипт, если его выполнение занимало более 5 минут на production-like объемах.

В итоге, в результате перехода на новый Netcracker Framework был получен выигрыш в производительности на Production сервере по всем проектным модулям. К примеру, наш самый тяжелый процесс, выполняющий синхронизацию всех бизнес-данных, должен работать не более 30 часов для обработки 300 миллионов сущностей в БД в 8 потоков. До начала Upgrade проекта на эту задачу требовалось около 22 часов, а сейчас она укладывается примерно в 8 часов, что позволяет заказчику делать полную синхронизацию Production данных за ночь для решения непредвиденных ситуаций форс-мажора.

4. Как обычно проходит твой рабочий день?

Сложно сказать, одинаковых дней не бывает. Единственное, что стало неизменным в последнее время – ежедневно в 10.30 утра мы проводим stand-up митинг, на котором присутствует техническая команда заказчика (Product Owner, Operations и QA) и наша проектная команда (аналитики, разработчики и QA). На таких 30-минутных митингах обсуждаются вчерашние успехи и строятся планы на сегодня.

В остальном – четкого алгоритма нет, каждый день приносит новые задачи, которые я решаю в соответствии с их приоритетом и текущей фазой проекта.

Я достаточно часто езжу в командировки, поэтому мой рабочий день еще зависит от того, нахожусь ли я в Минске или нет.

5. Какие профессиональные задачи тебе больше по душе?

Больше всего мне нравится участвовать в Change Request'ах, где заказчик просит решить какую-либо проблему или реализовать ту или иную бизнес-функцию, но при этом не выдвигая никаких требований по способу ее реализации, доверяя нам, как экспертам в данной области.

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

Часто мы предлагаем заказчику несколько вариантов на выбор. Они могут быть построены на базе разных интеграционных интерфейсов (например, SOAP, REST или JMS и т.д.), могут иметь разные возможности по конфигурированию системы (начиная от настройки всевозможных таймаутов до возможности полного выключения данной функции) и могут учитывать различные нефункциональные требования, например, по ожидаемой нагрузке на систему.

Очень часто заказчик, получив несколько вариантов, начинает понимать, как это может работать, и расширяет свои первоначальные пожелания, увеличивая бюджет проекта.

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

6. Насколько критично ты относишься к своей работе? Предпочитаешь учиться на своих или на чужих ошибках?

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

Несколько раз я получал упреки за излишнюю педантичность со стороны моих коллег, но мне действительно важно качество выдаваемой документации (например, полное отсутствие опечаток), каллиграфия исходного кода (форматирование, длина строки и т.д.) и полное отсутствие ошибок при инсталляции патча (ну не может ошибка быть допустимой!).

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

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

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

7. Существует убеждение, что Netcracker работает с устаревшими технологиями. Согласен ли ты с этим?

Категорически не согласен. Да, проектные решения Netcracker’a строятся на базе продуктовых компонентов, и разработка некоторых из них началась достаточно давно. Но у каждого такого компонента есть не только первые версии, разработанные несколько лет назад, но и те, что разрабатываются прямо сейчас. Зачастую у наших компонентов полностью меняется архитектура, они начинают использовать другие third-party библиотеки и т.д. Кроме того, мы постоянно прорабатываем прототипы новых решений, в которых, конечно же, используем современные технологии.

Такое заблуждение может возникнуть из-за того, что мы продолжаем поддерживать Production системы некоторых заказчиков, разработанные нашей компанией в прошлом. Сами заказчики не всегда готовы рисковать стабильностью своих Production систем в сторону апгрейда технологий.

Я на собственном опыте знаю, что означает бага в свежем Oracle, которая целиком блокирует твой бизнес-процесс, и ты ничего не можешь с этим поделать. Я также помню, что в январе прошлого года вышел фикс в Java специально для нашего заказчика.

Однако, чтобы дать возможность сделать собственные выводы, назову конкретные версии, которые стоят на Production’e моего текущего проекта: Java 1.8.0_92, Oracle 12.1.0.2.0. Важно подчеркнуть, что это крупный европейский телеком-провайдер с соответствующими требованиями по нагрузке и работоспособности системы.

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

Департамент поддержки в нашем регионе пока не представлен, поэтому попасть на поддержку старого Production в Минске не получится.

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

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

 

 

подписка на главные новости 
недели != спам
# ит-новости
# анонсы событий
# вакансии
Обсуждение