11.07.2016

История одного ядра от Андрея Пенкина

В этом году геометрическому ядру C3D исполняется 20 лет. Ровно столько лет назад основатели компании АСКОН пришли к единому мнению о необходимости создания собственной системы трехмерного моделирования КОМПАС-3D. В 1996 году была создана группа, которой было поручено написание программного обеспечения для работы с точной 3D-геометрией — инструмента, который бы не уступал по удобству использования и функциональности зарубежным аналогам. С этих дней начинается отсчёт истории «коломенского» геометрического ядра. На протяжении многих лет ядро постоянно развивалось и дорабатывалось: появлялись новые методы моделирования, разрабатывались алгоритмы вычислений, создавались дополнительные модули — параметрический решатель, конвертор данных, модуль визуализации. И за всеми этими изменениями всегда стояли конкретные люди — разработчики геометрического ядра, обретшего со временем собственное имя — C3D.

Сегодня всё больше людей интересуются геометрическим моделированием, многие из них активно следят за тем, кто и как разрабатывает российское коммерческое 3D-ядро. Поэтому мы решили подготовить серию юбилейных интервью с нашей командой разработки. В первых двух выпусках мы общались с сотрудниками, которые относительно недавно пришли в компанию — Анной Ладиловой и Александром Алахвердянцем. Поэтому третье интервью мы решили взять у человека более опытного, чтобы у постоянного читателя не сложилось ложного ощущения чрезмерной юности коллектива C3D Labs. Андрей Пенкин представляет подразделение, в котором ведется разработка модуля C3D Modeler. Голос «за кадром» принадлежит менеджеру по продукту C3D, Аркадию Камневу.

История одного ядра от Андрея Пенкина, фото 1
Андрей Пенкин, математик-программист в C3D Labs

— Андрей, задам тебе свой первый стандартный вопрос — откуда ты родом?

— Я родился в Коломне. Здесь вырос и окончил школу. Затем поступил в Московский государственный университет им. М.В. Ломоносова, где учился на математика на Механико-математическом факультете и специализировался на комплексном анализе.

— Почему ты решил поступать в МГУ?

— Во многом это цепь случайных событий, потому что раньше я много кем хотел быть, например, военным или музыкантом. Я закончил музыкальную школу по классу баяна, но поступать в коломенское музыкальное училище не стал. Наверное, я уже тогда почувствовал, что музыка — это «не моё». А вот военное дело мне нравилось куда больше. Я часто встречался с офицерами, и они рекламировали мне воинскую службу. Говорили, что жить придётся за Полярным кругом, на Дальнем Востоке и в более жарких местах. Меня это вдохновляло. Когда я занимался стрельбой из малокалиберной винтовки, то начальник тира (мастер спорта международного класса) тоже говорил, что я должен стать военным. Агитировал и военрук в школе, с которым у меня были хорошие отношения, так как я постоянно участвовал в военизированных кроссах и конкурсах.

— Помнишь, за какое время производил полную сборку/разборку автомата Калашникова?

— Сейчас уже не скажу, но я точно помню, что меня можно было разбудить ночью, и я сделал бы это с закрытыми глазами.

— Столько людей хотели, чтобы ты стал военным, и всё-таки ты выбрал математику. Как такое могло произойти?

— Была совершенно случайная встреча — я стоял где-то в очереди и разговорился с незнакомым мне человеком. Я тогда был ещё совсем молод. Посыпались стандартные вопросы «Как учишься?» да «Куда будешь поступать?». Обычный такой праздный разговор. Я ответил, что хочу пойти после 8 класса школы в Суворовское училище, а он удивился, мол, как так можно с самых ранних лет — взять и связать свою жизнь с армией? Предложил сперва отслужить срочную службу, а там, если мне понравится, уже подавать рапорт и идти в училище от воинской части. Я поразмышлял над этими словами, и они мне показались вполне разумными. В Суворовское я так и не пошёл, и сейчас очень благодарен этому человеку. Я воспользовался его советом.

История одного ядра от Андрея Пенкина, фото 2
Армейская мечта Андрея переросла во взрослое увлечение стрельбой

— Давай поговорим об учёбе.

— Когда я закончил школу, то хотел поступать в Московский авиационный институт, но там не предоставляли общежитие, и меня это оттолкнуло, хотя на дне открытых дверей мне в этом институте очень понравилось. В это время в МГУ на Мехмате проходила областная олимпиада по математике, в которой я решил принять участие. Призовых мест я тогда не занял, но меня пригласили на предварительный экзамен, за который я в последствии получил «неуд». Меня это как-то особенно взбодрило! Я даже вошёл в кураж, когда дома проанализировал задачки и понял, что они были совсем не сложные. В общем, я взял у знакомых книжку со вступительными заданиями, отыскал решения, потренировался и пошёл поступать. Написал экзамен на 4 балла, устный ответил на 5-ку и в результате меня зачислили в ряды студентов МГУ.

— Ты жил в знаменитой высотке на Ленинских горах?

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

— Помнишь, какие у тебя были любимые дисциплины в университете?

— Мне очень нравились комплексный анализ и алгебра, хотя алгебру я освоил не сразу. Сперва нам выдали учебники, в которых я абсолютно ничего не понял: были какие-то модули, группы, исследования операций. Я начал читать книжки попроще и постепенно разобрался в учебниках от нашего заведующего кафедрой Кострикина Алексея Ивановича. Думаю, что комплексные числа и их теория — гораздо более стройные, чем просто действительные числа. Единственное, что меня угнетало во время обучения на Мехмате — это отсутствие явной привязки к практике. Можно сколько угодно долго развлекаться теоретическими упражнениями, но совершенно непонятно, кому и зачем это нужно. В этом плане учёба в авиационном институте мне бы подошла гораздо больше.

— Был ли у тебя трудовой опыт в студенчестве?

— Первые два года обучения я закрывал сессии на отлично и получал хорошую стипендию, практически как у молодого специалиста на предприятии. На третьем курсе я ездил собирать картошку. Потом наступил 91-й год и стипендии сильно урезали. Денег хватало максимум на неделю, а то, бывало, и меньше. Многие мои одногруппники перестали приходить за стипендией к старосте. Репетиторством я не занимался, но мне нравилось читать различные книги, поэтому я просто начал возить книжки из Москвы в Коломну и продавать. В те времена это уже было почётно. Конечно, на книжках много денег не заработаешь, но мне этого вполне хватало.

— Куда решил податься после окончания вуза?

— Мой научный руководитель давал мне рекомендации для поступления в аспирантуру МГУ, но я на тот момент ото всей этой теоретической тематики немного подустал и отказался. Как раз тогда я вспомнил про свою давнюю армейскую мечту. Учитывая, что я был ещё призывного возраста, то решил от военкомата не прятаться, встал на учёт и начал ждать повестку. Параллельно нашёл подработку в котельной и почти год трудился на этом месте. Мне было вполне комфортно работать, потому что появилось много свободного времени, которое я мог провести за чтением книг. Во время работы в бригаде я встретился в котельной с одним человеком, который неплохо говорил по-английски и отлично разбирался в электронике. Тогда мне впервые объяснили, что собрать компьютер своими руками — это совсем несложно. Я загорелся этой идеей. Товарищ принёс мне списки комплектующих из магазинов, я подобрал себе нужную конфигурацию, но она оказалась нерабочей. Уже со второй или третьей попытки я всё-таки собрал свой первый компьютер. Это был компьютер на 486-м процессоре AMD. Помню, что самое большое впечатление на меня произвела клавиатура. Когда я её увидел, то пришло осознание, что компьютер у меня уже точно будет стоять дома и работать.

Потом пришла повестка и я отправился служить в ПВО. Именно тогда я осознал, что значит служба в армии. В МГУ у нас была военная кафедра, после окончания которой я получил звание лейтенанта. Уже в армии дослужился до старшего лейтенанта. Здесь я понял две вещи: во-первых, что служить я точно не хочу; во-вторых, что в армии работают очень высококлассные специалисты технического плана. В те времена в армии очень большое внимание уделялось самоподготовке. Я подружился с электронщиком и программистом и за два года изучил, как работает процессор, разобрался в языке программирования Assembler, понял, какие там есть блоки, регистры и так далее. Там же самостоятельно изучил язык программирования C++.

История одного ядра от Андрея Пенкина, фото 3 История одного ядра от Андрея Пенкина, фото 4
Учеба А. Пенкина в МГУ на кафедре Теории Функций и Функционального Анализа

— Хорошо, а как ты оказался в Конструкторском бюро машиностроения в г. Коломне (далее — КБМ) и чем ты там занимался?

— В армии со мной служили ребята, которые раньше трудились на КБМ, где проектировали ракеты, они мне и порекомендовали после увольнения в запас пойти на это предприятие. Я занимался инженерными расчетами. В КБМ было довольно много работы, но самоподготовке тоже уделялось значительное количество времени. Что было хорошо — теория, которую я изучил в армии, нашла своё применение в бюро. Мне дали компьютер, и я начал писать программы. Наконец-то я со своими теоретическими знаниями дорвался до практики, и это оказалось в некотором роде шоком для меня, потому что одно дело — разрабатывать алгоритмы, а другое — их применять. Во время работы в КБМ я извлёк для себя ценный урок — оказывается, если тебе дали задание, то ты должен его выполнить, а не доказать, что его выполнить нельзя. Поэтому я начал размышлять: вот у меня есть задача, которую решить в общем случае невозможно, и я это могу доказать, но я должен постараться сделать какой-то вывод для абсолютного большинства случаев. Это было для меня в новинку.

— Что было потом?

— Как ни странно, проектировать оружие мне не нравилось. Хотелось чего-то более мирного. Когда я решил увольняться, то друзья рассказали мне про САПР КОМПАС, которую разрабатывают выходцы из КБМ. Я послушал их и сразу обратился в АСКОН. Я знал, что компании требуются программисты, написал резюме и меня пригласили на собеседование. Должен отметить, что после работы на государственном предприятии я представлял себе абсолютно любую фирму, пусть даже частную, как огромное помещение с большим числом сотрудников, но при первичном посещении офиса меня поразило, что он представляет собой четыре арендованные квартиры в жилом доме, где плечом к плечу сидят за столами программисты, и иногда бегают в домашних тапочках на кухню пить чай. Ещё очень сильно меня поразила скорость изменений и работы, которая там происходила. В частности, когда я был на собеседовании, то никаких дополнительных рабочих мест ещё не было, а когда пришёл на испытательный срок, то уже стояли стол, стул и компьютер со всеми настроенными программами. Мне достаточно было просто сидеть и заниматься своей работой.

— Проходил ли ты испытательный срок в АСКОН?

— Конечно! Я пришёл на испытательный срок в конце 2001 года. Задания оказались достаточно сложными, и когда я их увидел, то подумал, что это решить невозможно. Тем более за тот маленький срок, который выделялся на решение — это приблизительно один месяц на четыре задания. К тому моменту я был уже опытным сотрудником и знал, что если задачу решить невозможно, то это ещё не означает, что задание выполнить нельзя. В итоге, мало-помалу у меня получилось все эти задания сделать. Хотя я немного и не уложился в срок, в последствии оказалось, что мало кто из соискателей делал всё вовремя. После этого меня приняли. На работе меня приятно поразило, что после выполнения задания моё решение идёт в рабочую задачу, и довольно скоро я могу увидеть результат своей деятельности. В те времена примерно раз в полгода выходили новые дистрибутивы КОМПАС, и по истечению этого срока проектировщики могли на практике ощутить пользу от моей работы. Такое мало, где возможно при работе с железками, которые в конечном итоге должны сформировать готовое изделие. Вот эта скорость: сделал, попробовал, не получилось, переделал, протестировал и всё пошло, люди пользуются, довольны — для меня сыграла решающую роль в принятии решения о работе.

— Изначально ты приходил в математическое подразделение АСКОН?

— Да, по моему резюме мне сразу предложили пойти именно в математическое подразделение, в котором тогда трудились всего три сотрудника — Николай Николаевич Голованов, Александр Максименко и Дмитрий Жамойцин. Я был четвертым. После испытательного срока я сначала исправлял ошибки, а затем начал помогать Александру Максименко в реализации геометрического решателя, в частности, помогал ему заполнять таблицу функций, выполняющих заданные ограничения при имеющихся степенях свободы. Этим я занимался недолго. Потом КОМПАСу потребовалась достаточно сложная функция для конверторов — сшивка граней, так как часто из других систем приходили модели не в виде твердых тел с топологией, а в виде простого набора граней. Нужно было их распознать и определить к каким телам эти грани принадлежат, а далее уже приниматься за восстановление топологии со всеми рёбрами и вершинами. Это была моя первая полностью самостоятельная работа. Я разработал метод, который хорошо работал на кубиках, но когда пошли более сложные детали, то мой алгоритм перестал работать, и я зашел в тупик. Я пообщался с коллегами. Оказалось, что Александр Максименко когда-то выполнял похожу работу при задании литейных уклонов, где ему тоже нужно было находить образовавшиеся рёбра и вершины, в которых они сходятся. Моя ошибка состояла в том, что я начинал «плясать» от рёбер, а Александр предложил начинать с вершин: сперва группировать их, а затем уже смотреть, какие ребра туда входят. И это сработало!

— Так сшивка граней — это функциональность конверторов или геометрического ядра?

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

— Какую особенность при работе с листовыми телами ты бы мог отметить?

— Я работаю над реализацией функций создания листовых тел, сгибов/разгибов и штамповки. Должен отметить, что в других геометрических ядрах таких операций просто нет. Поэтому в некотором роде мы делаем уникальный продукт. Если сравнивать C3D с CAD-программами, то гибка у нас находится на очень приличном уровне и продолжает развиваться дальше. Имея доступ к функционалу геометрического ядра, можно написать специальные согнутые/разогнутые поверхности или, например, определить положение точек после сгиба/разгиба. Чем листовые тела хороши, так это тем, что у них, как правило, плоская форма. Это сильно помогает в работе. При объединении и пересечении таких тел пластины стыкуется своими узкими сторонами, поэтому можно написать функции, которые работают быстрее и учитывают специфику листовых лет. Сложность при выполнении гибочных операций состоит в следующем: то, что мы однажды согнули, затем придётся разгибать, чтобы получить развёртку со всеми сложными вырезами, наслоениями и бобышками. На практике часто выходит так, что вырез, полученный в согнутом состоянии — это далеко не всегда тоже самое, что и вырез на плоскости.

Другая особенность геометрического ядра состоит в том, что в математике чаще всего формулы считаются с абсолютной точностью, а на практике имеется некоторая погрешность. Теория, по своей сути, слишком рафинированная. И это часто путает все карты! Решение, найденное численными методами, иногда получается гораздо точнее, чем значение, рассчитанное по формуле. И это постоянно необходимо учитывать в работе. Тут даже имея отличную математическую подготовку, всё равно придётся переучиваться. Нельзя «в лоб» решить задачу.

— Откуда ты черпаешь идеи при работе над гибочными телами?

— Стараюсь больше работать самостоятельно. Здесь речь идёт не о передовых рубежах науки, а больше о программировании. Мои знания алгебры и дифференциальной геометрии ощутимо помогают в работе. За идеями иногда обращаюсь к коллегам. Если мне непонятно, как та или иная функциях должна реально работать на производстве, то я прошу разъяснений у аналитиков, потому что они — профессиональные конструкторы и инженеры. Есть ещё специализированные книги о развёртках, но они мало помогают, потому что в них приводятся именно пособия для расчётчиков. Их основная задача — по детали рассчитать точки на плоскости, выбить заготовку, а потом согнуть её. То есть непосредственно расчёт сгиба не производится.

История одного ядра от Андрея Пенкина, фото 5
Операции гибки листовых тел в ядре C3D
История одного ядра от Андрея Пенкина, фото 6
Построение обечайки и штамповка, разработанные А. Пенкиным

— Когда ты пришёл в АСКОН, кто были твоими учителями?

— Что такое «САПР» я узнал по книге Александра Евгеньевича Потёмкина. Про геометрическое ядро мне впервые рассказал Николай Николаевич Голованов, включая объяснение структуры классов и т.д. А в плане практического программирования многому научил Александр Максименко. Вообще, он пишет очень хороший программный код. И если я захожу в тупик, то Александр всегда может подсказать выход из него.

— Есть ли какое-то пособие, опираясь на которое разработчики могут продолжать твоё «гибочное» дело?

— Создание подробного описания гибочных операций в ядре C3D — очень важная задача, которая сейчас стоит передо мной. Ведь, что всегда качественно отличало разработчиков инженерного софта от других представителей ИТ-сообщества? Это стремление самостоятельно разобраться с возникающими трудностями при освоении программного кода. Как раз наша задача — обеспечить максимально комфортную работу таких самостоятельных разработчиков, а значит предоставить их вниманию подробное руководство по C3D.

— Что больше всего нравится в рабочем процессе?

— Кофе и тортики уже надоели. Ну, а если серьёзно, почти все задания нетиповые и как их делать сперва непонятно. Начинаешь думать, оценивать всякие тонкости и нюансы. Перед выполнением задания иногда даже наступает небольшое уныние: делать нужно, делать сложно, а как сделать в достаточно сжатый срок — непонятно. Начинаешь пробовать сперва простые вещи, потом сложнее и ещё сложнее. Когда в результате пробок и ошибок ты наконец-то нащупываешь верное решение задачи, то приходит счастье. Понимаешь, что всё сделал и у тебя получилось. Поэтому наша работа представляет собой такие своеобразные качели: от отчаяния до несказанной радости от выполненной работы. Ещё у нас очень хороший коллектив! Поэтому я нисколько не жалею, что работаю в C3D Labs, даже не смотря на сложность тех задач, с которыми приходится справляться.

— Скажи, может ли ядро C3D конкурировать с другими ядрами?

— Конечно, мы этим уже занимаемся!

— Почему разработчикам САПР стоит использовать C3D?

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

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

— На самом деле, программирование изучал не только в армии, хотя армия дала мне очень многое. В школе нам преподавали обыкновенный Basic, в вузе я изучил Fortran, на военной кафедре познакомился с Pascal, а уже в армии освоил С++. Совсем недавно попытался изучить Python, но в работе это не пригодилось и интерес быстро угас. Вообще, как я пришёл к программированию? В 15 лет я приобрёл программируемый калькулятор «Электроника МК-61».

Это было первое программируемое устройство, с которым я познакомился. В нём было 105 ячеек памяти и можно было задать какие-то самые простые формулы. Были даже игры вроде гоночек. Управление осуществлялось при помощи цифр. Нужно было задать направление и скорость движения, а калькулятор выдавал результат: остался ты на трассе или нет. Очень увлекательно! С полноценным компьютером в виде 8-разрядного устройства «Радио-86РК» я познакомился уже в 9 классе школы. Basic грузился в него с магнитной ленты по принципу магнитофона. Первой программой, которую я написал, кажется, был поиск корней квадратного уравнения.

— Я слышал, что ты любишь изучать иностранные языки. А какие ещё языки ты знаешь, помимо английского?

— В студенчестве я увлёкся иностранным языками. Начал с изучения английского языка. Заниматься по учебникам мне было не очень интересно и даже скучно. Тогда преподавательница познакомила меня с американцем, который вёл курс английского языка в МГУ. Я приходил к нему на пары, и мы просто общались. Получается, что я не был лингвистом, но свободно ходил на эти курсы английского языка. Позднее по учёбе мне потребовался французский язык, так как выходило много интересных статей на нём. Французский я изучал в несколько этапов. Не скажу, что могу свободно изъясняться на этом языке, но прочитать текст смогу. Сейчас вот увлёкся китайским языком. Вряд ли я смогу когда-нибудь научиться говорить на нём, но хотелось бы знать китайский хотя бы на уровне понимания текстов. Мне очень интересна китайская культура, да и сама страна. Можно зайти на любой китайский сайт в интернете, но понять что-нибудь будет крайне затруднительно. Никакие переводчики там не срабатывают, потому что на китайских сайтах очень часто идут иероглифы в виде картинок и электронные системы распознавания их искажают.

— Вообще, откуда взялось это увлечение Китаем?

— Однажды в интернете я прочитал, что есть китайские облачные хранилища, которые предоставляют довольно много бесплатного места. Я полез в облака, и информация подтвердилась, но я столкнулся с проблемой — весь интерфейс был полностью представлен на китайском языке. Спасало то, что присутствовали наглядные картинки, благодаря которым можно было интуитивно догадаться, куда нужно зайти и какую кнопку нажать. Но если я переходил по ссылке на другой сайт, то становилось абсолютно ничего непонятно. Я стал задаваться вопросами, как же эти люди живут? Мне стало интересно, как устроен быт одного миллиарда человек. Затем уже я начал читать литературу на русском языке про историю Китая и их культурные обычаи. И постепенно увлёкся этим делом.

— Какие у тебя ещё есть хобби?

— Раньше я занимался музыкой и стрельбой, увлекался конструированием радиоуправляемых моделей, а в младших классах школы даже ходил в кружок, где мы разучивали песни, стихи и выступали затем на сцене. В институте ребята научили меня играть на гитаре. Теперь вот увлёкся велоездой. Мне нравится добираться на работу на велосипеде. Фильмы я практически не смотрю, музыку слушаю очень редко. В основном это авторская песня: Юрий Визбор, Георгий Васильев и Алексей Иващенко, Александр Суханов, Александр Дольский. Очень разноплановые песни у Юрия Кукина. В зависимости от возраста, слушаешь их и понимаешь каким-то определённым образом.

Ещё я люблю читать книги на языке оригинала. Например, мне нравится творчество Вернора Винджа. Он также, как и я — математик-программист, поэтому его фантастические темы мне очень близки. Хорошо пишет Роберт Джордан, в его произведении «Колесо Времени» использован очень хороший английский язык. На французском я читал «Маленького принца» Антуана де Сент-Экзюпери и ещё несколько менее известных авторов. На тот момент я практиковал метод чтения Ильи-Франка, когда сперва идут предложения на французском языке, затем идут объяснения — на русском, а дальше уже идёт абзац в чистом виде без объяснений вообще. Конечно, «Маленький принц» — это довольно простая книга по стилистике повествования. Когда я решил прочитать в оригинале «Три мушкетёра» Александра Дюма, то, к своему большому удивлению, обнаружил, что сформировать полноценный перевод предложений я не мог. Даже несмотря на то, что большинство слов мне были уже до этого знакомы. То есть я улавливал смыслы совсем не те, которые закладывал автор. Из классических произведений могу отметить «Джейн Эйр» Шарлотты Бронте и «Идиота» Достоевского. Вообще говоря, если иностранцы судят о русских по книгам Федора Михайловича, то я даже не представляю, в каком ужасе они должны пребывать после их прочтения. В последнее время я всё чаще замечаю, что начинают нравиться нехудожественные произведения, например, о каких-то странах (Китае или Иране), об их культуре и истории. Понятно, что я читаю эти книги на русском языке, т.к. фарси я не владею.

— Мне ещё говорили, что ты любишь играть в компьютерные игры. Это так?

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

— Участвовал ли ты в велопробегах, принимал участие в соревнованиях по компьютерным играм?

— Я не люблю соревнования по компьютерным играм, да и вообще соревнования по своей форме не особо люблю. Я так раньше гонял на велосипеде очень быстро, а потом задумался: «Чего это я ношусь, высунув язык, когда можно просто ездить не спеша, оглядываться по сторонам и изучать окрестности в спокойном ритме?». С тех пор соревнования меня не привлекают. Я не стремлюсь куда-то быстрее всех приехать. С играми также. Если речь идёт о спортивном мероприятии, то обычно это — стрелялки, где нужно убить больше всего противников. Мне это не нравится. В ролевых играх можно спокойно забраться в дебри и найти крутой сундучок в самом начале игры, достать из него крутую шмотку и потом всех победить.

История одного ядра от Андрея Пенкина, фото 7
А. Пенкин изучает на велосипеде окрестности Коломны

— По вечерам ты часто думаешь о работе?

— Если я пришёл домой, то уже никаких мыслей о работе быть не может. Хотя обычно самые хорошие мысли приходят по дороге с работы домой. То есть буквально: сидел целый день, ломал голову, думал, как сделать задание… Вышел с работы и тут неожиданно приходит идея! В такие моменты переживаешь о том, как бы не забыть эту мысль, и принести её обратно в офис на следующий день. Очень много хороших задумок рождается именно таким образом.

— Как в твоей семье относятся к тому, что папа — профессиональный математик?

— Сыну Юре 8 лет и ему это нравится. У него тоже имеется склонность к точным наукам. Математика у него очень хорошо идёт, и когда я ему что-то объясняю, то он очень быстро схватывает. Любит собирать различные электронные конструкторы. Ну, а мама считает, что я гружу ребёнка ненужными ему вещами. Она у нас — более творческий человек.

— Сынок-то дифференциалы уже умеет считать?

— Нет, про них я ему ещё не успел рассказать. Вмешалась мама и прекратила это безобразие. Интегралы тоже пока не стал объяснять. Вообще, когда я разговариваю с ребёнком, то стараюсь страшных слов не произносить, а просто говорю ему, например, что площадь можно посчитать несколькими способами. Обычно этого достаточно.

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

— Я не силён в краеведении, хотя, конечно, гулял и по Кремлю, и рядом со Старо-Голутвинским монастырём. Думаю, что всегда интересно посмотреть культурные достопримечательности. Что меня удивляет, когда я читаю исторические статьи в интернете, то довольно часто упоминаются различные места в Коломне и около неё. Сколько же важных событий происходило здесь ещё совсем недавно! Но лично мне в Коломне нравятся реки. Люблю расположиться где-нибудь на берегу и просто смотреть, как течёт вода. Рек у нас много, поэтому всегда есть куда пойти и отдохнуть: Ока, Москва, Коломенка — это самые известные и крупные реки. Ещё в Коломне довольно много мостов, с которых тоже можно любоваться красотами рек. Это очень умиротворяет.

— Скажи пару напутственных слов выпускникам вузов, которые смотрят в сторону C3D Labs.

— Что тут сказать? Есть люди, которые хотят спокойной жизни, стабильности и предсказуемости. Так, чтобы научиться чему-то один раз, и потом заниматься этим делом всё время. А есть люди — экстремалы, которых манят полёты на Марс, покорение Эвереста и т.д. Вот такие люди могут смело приходить в нашу команду и заниматься разработкой наукоёмких технологий C3D Labs. У нас все задачи абсолютно нестандартные. Если человек хочет проверить себя, то, пожалуйста, у нас очень много сложных задач, с которыми нужно справиться.

Поделиться материалом
Вверх