Мне 57, и я scrum-мастер

Этим постом мы отвечаем на вопрос, есть ли для программиста карьера (и вообще работа) после 50-ти. Свою историю рассказывает Татьяна Митина, руководитель отдела программирования в центре разработки C3D Labs в Нижнем Новгороде. Она 16 лет проработала в Intel, а сейчас занимается разработкой геометрического 3D-ядра.

image


Я окончила Горьковский университет, факультет вычислительной математики и кибернетики по специальности «Прикладная математика». Нас выпускали как математиков, а не программистов. Компьютеры мы видели, как стойки с транзисторами и проводами. На лабораторных работах что-то вычисляли, переставляя эти провода и симулируя работу процессора. На старших курсах был Basic на базовом уровне. С персональными компьютерами я еще долго не сталкивалась.

image
Студенческий стройотряд (1978 г.)

После университета работала в Институте прикладной математики, где писала на Fortran, который в то время считался наиболее удобным языком для научных расчетов. Готовила диссертацию — разрабатывала комплекс для вычислений операций с аналитическими матрицами. Он должен был использоваться в НПО «Гидромаш».

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

Наступила перестройка, потом распался СССР, нам перестали платить зарплату, и я ушла. Моя диссертация не состоялась, научная карьера закончилась. Но началась совершенно новая — в ИТ.


После Института прикладной математики я пришла в инжиниринговую компанию, которая проектировала малые суда на подводных крыльях. Здесь впервые увидела персоналку. Я работала в компьютерном отделе, для саморазвития начала писать на языке С, а потом познакомилась с Pro/Engineer. Наша компания, наверное, первой в городе закупила CAD-систему такого уровня. Она работала на графических рабочих станциях под UNIX. Мощных персоналок, способных ворочать тяжелые CAD, еще не было.

Я освоила Pro/Engineer. Помню, как моделировала по расчетным таблицам лопасть гребного винта. Сечение лопасти постоянно меняет свою геометрию, и эта сложная поверхность параметрически создавалась в Pro/Engineer. К нам приходили делегации с других предприятий — посмотреть, как работают в САПР. Нас было три человека, кто изучил Pro/Engineer, и мы проводили экскурсии. Когда наша компания начала разваливаться, нас троих с удовольствием расхватали по предприятиям.

Я перешла в конструкторское бюро авиационного завода «Сокол». Там как раз закупили Unigraphics на рабочих станциях, и нужно было администрировать весь комплекс, обучать сотрудников. Чтобы объяснить людям, для чего нужна автоматизация, я взяла у конструкторов чертежи шпангоута и сделала по ним трехмерную модель. Приходили начальники смотреть: «О, шпангоут крутится, круто!». Потом я даже видела эту 3D-модель шпангоута в рекламных материалах. С гордостью могу сказать, что принимала участие в проектировании учебно-боевого самолета ЯК-130. Работала с его главным конструктором, к примеру, выполняла расчеты уровня топлива в баках при разных кренах самолета, естественно, не на бумаге. А люди по соседству чертили на кульманах. Для меня было важно ощущать причастность к тому, что воплощено в металле, летает в небе.

image
Як-130


Потом был короткий отрезок — судостроительное КБ «Вымпел», в то время закупившее шведскую судостроительную САПР Tribon. Им нужен был человек для ее администрирования. Днем я работала в КБ, а вечерами ездила на подработку в Нижегородскую лабораторию программных технологий, которая выполняла заказы Intel и других зарубежных компаний. Здесь я занималась чистым программированием на С++ и работала над модулем CAD-системы для бельгийской компании Brics (ныне Bricsys). На этой волне я и попала в Intel, когда компания открыла офис в Нижнем Новгороде.

image
Intel (2001 г.)

Благодаря проекту с Brics я выучила английский. Первый раз меня направили в Бельгию вместе с двумя коллегами, и я не прочувствовала, что такой иностранный язык. А заговорила я, когда в следующий раз поехала в командировку одна на две недели.

Компания оплачивала для нас курсы английского, но разговаривать не начнешь, пока не попадешь в языковую среду. У меня произошел курьезный случай. Нужно было что-то обсудить с коллегой из Австралии. Бельгийцев, говорящих по-английски, я еще понимала, а этого австралийца — совсем нет. В результате мы сидели втроем, и бельгийский коллега на своем английском переводил мне речь австралийца. Когда я оказалась одна в командировке, деваться было некуда. И я настолько вжилась в язык, что, вернувшись домой, иногда на улице или в транспорте отвечала на английском.


В Intel мне удалось поработать в разных проектах и в интернациональных командах. В последние годы все крутилось вокруг знаменитых профилировщиков и отладчиков: Parallel Inspector, Parallel Advisor, VTune Amplifier. Я работала в командах, которые разрабатывали программное обеспечение для тонкой настройки производительности приложений, профилирования работы с потоками и с памятью, оптимизации векторных вычислений.

image
Команда Intel VTune Enterprise

Никаких предубеждений насчет возраста я вокруг себя не замечала. Ребята, с которыми я работала, даже не думали, на сколько я их старше. Мне рассказывали историю, что в американском офисе Intel работает легендарный товарищ, которому 78 лет. Каждый год ему предлагают уйти на пенсию с выходным пособием, а он отказывается. И уволить его не за что, потому что он работает хорошо, проходит все аттестации.

image
Intel (2004 г.)

За 16 лет Intel изменил меня коренным образом, мое отношение к работе, жизненную позицию. Сделал более инициативной, активной, смелой. Если вижу, что что-то делается неправильно, обязательно скажу, возьмусь помочь. В Intel поощрялось сотрудничество между людьми и командами. Даже если ты крутой специалист, но изолирован и ни с кем не общаешься, пользы не будет ни тебе, ни компании. Чем человек активнее общается и делится опытом, чем больше оказывает влияние на коллег, на принятие решений, тем больше у него возможностей для роста. Такой подход к делу выводит из зоны комфорта, но приучает работать над собой, настраивает на активную жизненную позицию. Возможно, это изначально было близко моему характеру.


Два года назад в Intel началась реструктуризация, и я подумала, что, возможно, это шанс как-то изменить жизнь — все-таки я 16 лет отработала в одной компании, захотелось попробовать применить свой опыт в какой-то другой области. Через компанию «ГеоС», которая занимается разработкой САПР и использует геометрическое ядро C3D, я узнала о C3D Labs и о том, что у нее есть подразделение в Нижнем Новгороде. Для меня это стало возвращением к тому, с чего я когда-то начинала, к САПР. Кроме того, захотелось поработать в российской компании — это другой стиль работы, другая атмосфера, отношения между людьми.

Мне сразу понравилась домашняя обстановка, более теплая, менее официальная. Я пришла сюда больше как программист, чем математик, и когда смотрела код, меня приятно удивили некоторые вещи. Было видно, что люди хорошо разбираются в C++ — как устроен язык, как он работает с разными типами данных. Грамотные и аккуратные самописные контейнеры, чтение/запись в формате C3D.

image
Татьяна (в центре) в команде C3D Labs (2016 г.)

В качестве первой самостоятельной задачи я разработала расширенный формат данных на базе имеющегося у нас формата C3D. Существующий формат очень компактный, модель сохраняется в небольшой файл. Если мы сохранили модель, то должны ее полностью прочитать, и в этом состоит ограничение. Ведь иногда, чтобы прочитать большую модель, может потребоваться, условно, полчаса вместо нескольких секунд. Расширенный формат позволяет записать файл так, что потом можно не читать его целиком, а прочитать заголовок, выбрать объекты и прочитать только их. Это позволяет, к примеру, быстро зачитать и показать полигональное представление модели, пока большая модель продолжает читаться. Расширенный формат уже используется в просмотрщике 3D-моделей C3D Viewer (подробнее о расширенном формате ядра C3D можно прочитать здесь.


Когда я пришла в C3D Labs, некоторые моменты мне показались неэффективными. Сотрудники работали каждый в своей песочнице, иногда не знали, чем заняты коллеги, на какой стадии находятся работы. А ведь одна из основных задач Agile — сделать разработку прозрачной.

В Intel я занималась организацией процесса разработки, была scrum-мастером. На основе своего опыта я написала документ, в котором по шагам разъяснила весь процесс, что и зачем делается, кто за что должен отвечать. Конечно, возражения были, и это понятно. Сложно перестроиться, когда годами работаешь в одном русле. К примеру, коллеги не сразу приняли, что после каждого спринта нужно рассказывать о своих работах. На первом этапе меня очень поддержал Олег Зыков, директор компании. По мере продвижения вперед большой вклад внес Юрий Козулин, руководитель разработки C3D Modeler. Ему, как лидеру команды, важно было добиться прозрачности работ, регулярного планирования.

Обсуждать переход на Agile мы начали год назад, летом 2017 года. Проводили совещания, спорили. Были предложения «смягчить удар», вводить новшества постепенно. Но я себя вела достаточно жестко: будем переходить на новую технологию сразу и в полном объеме. Вообще, в жизни я мягкий человек, но в работе могу быть настойчивой, если уверена, что права. Возможно, это школа Intel.

image
Scrum-сессия (Коломна, 2018 г.)

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


30 августа мне исполняется 58. В данный момент я занимаюсь многопоточностью. Мы реализуем параллельные вычисления в модулях геометрического ядра C3D, а также обеспечиваем потокобезопасность C3D при работе в многопоточных пользовательских приложениях. Это работа, которую сложно завершить, объем работ здесь необъятный. Программирую в основном пока на C++, поскольку я не связана с оболочками, билдами. Но поправить или дополнить скрипт на JavaScript или Python могу.

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

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

image

© Habrahabr.ru