Украинец, который программирует Falcon: Алексей Пахунов, старший инженер полетного ПО в SpaceX
30 мая компания SpaceX успешно запустила свой корабль Crew Dragon. Он уже пристыковался к МКС, миссия проходит в штатном режиме. В том, чтобы все получилось, принимает участие и украинец Алексей Пахунов. Редакция написала о нем текст еще в 2018 году, а после запуска Crew Dragon, который выводила в космос ракета Falcon 9, вспоминает его еще раз.
Весь мир гудит об успешном запуске ракеты-носителя сверхтяжелого класса Falcon Heavy, которую компания Илона Маска осуществила 6 февраля. Это без преувеличения историческое событие, все причастные к нему люди стали героями. Один из них — украинец Алексей Пахунов, который сыграл важную роль в космических приключениях SpaceX. Он был ответственным за успешную посадку Falcon 9 в 2015 году, а 6 февраля сидел в первом ряду Mission Control.
О переезде и карьере
Алексей Пахунов родом из Житомира, образование получил в Хмельницком Технологическом университете «Подолье» (теперь Хмельницкий Национальный Университет) по специальности «Компьютерные системы и сети».
В 2004 году переехал в Данию, работать в офисе Microsoft в Копенгаген. До этого также успел пожить и поработать в Румынии. В 2006 году перевелся в команду Windows Kernel и переехал в Редмонд, штат Вашингтон. Затем работал в одной из групп Microsoft Research. А в 2012 году перешел в Google, где работал над Chrome Remote Desktop.
Алексей уехал из Украины в начале 2000-х и сегодня сторонится разговоров о политике, стараясь по возможности избегать околополитических тем. «Главным образом из-за крайне низкого КПД подобных споров. А уж после событий последних лет – так и подавно», — подчеркивает он.
О переходе в SpaceX и Илоне Маске
В середине 2013 года с Алексеем связался рекрутер из SpaceX и сделал ему предложение, от которого украинцу было сложно отказаться: «Я мог совместить два своих любимых хобби: программирование и космос», — вспоминает Пахунов. Сегодня он работает старшим разработчиком ПО в группе Flight Software, SpaceX.

К тому моменту компания была уже слишком большой и с Илоном Маском Алексей интервью не проходил. Лично с основателем и СЕО компании он пересекался всего пару раз. «Первый — на компанейских посиделках в ресторане, второй — в довольно стрессовой обстановке, когда нужно было быстро принять сложное решение. Посиделки в ресторане мне понравились больше», — признается Алексей.
«Илон неплохо разбирается в инженерном деле; у него хорошее чутье на работающие решения сложных инженерных проблем. Более того, у него хорошо получается решать инженерные проблемы бизнес-методами. Скажем, вы столкнулись с проблемой, что ваше основное приложение слишком медленно обрабатывает данные. Наивный инженерный подход для решения этой проблемы — потратить X часов на оптимизацию кода. Чуть менее наивный подход — купить в десять раз больше серверов. Это, наверное, не очень эффективно, но может быть оправдано, коль скоро речь идет об основной функции компании. Маск в этой ситуации может сказать, что вообще-то оптимизация обработки данных — совершенно не та проблема, которой нужно заниматься. Нужно просто уменьшить поток входящих данных и не париться. Это не только решит исходную проблему, но и поможет в десятке других мест, где большой объем данных создавал проблемы. Осталось только найти способ уменьшить объем входящих данных…
Мне кажется, что такое «концептуальное» мышление — это одновременно и причина, почему у Маска получается, и причина, почему сроки постоянно ползут вправо.»
О работе над ПО для Falcon
В команде Алексея Falcon Software работает около десяти человек. Они пишут код для ракет и наземной инфраструктуры. В полете и системах, обслуживающих полет, используется С++ и Linux. В менее критичных системах — широко используется Python и другие языки.

По словам Алексея, от любого другого кода ПО для Falcon отличается высокими требованиями к надежности и предсказуемости поведения. «Если Word или страница в браузере могут упасть с минимальными последствиями, то на ракете это чревато многомиллионными потерями и возможными человеческими жертвами. Это влияет на архитектуру, способы обработки данных и стиль написания кода», — пояснил Пахунов. Абсолютная производительность кода менее важна, чем стабильное время выполнения. Приветствуется простой код — его легче проверить и протестировать.

Режим работы инженеров SpaceX действительно жесткий, хотя Пахунова это, похоже не смущает. «Время на отдых и личную жизнь остается, хотя, если вы спросите мою жену, она со мной не согласится. В SpaceX легко работать хоть круглые сутки», — говорит он. В компании стараются организовать рабочий процесс таким образом, чтобы свести внеурочную работу к минимуму, но полностью исключить ее не удается.
Время запуска зависит от орбиты, а не от рабочего расписания. Предстартовая подготовка отсчитывается от времени запуска. Я бы сказал, что я работаю 45-50 часов в неделю.
О найме в SpaceX
Из-за того, что SpaceX попадает под ограничения ITAR (закон о контроле оружия, среди прочего доступе иностранцев к потенциально военным технологиям), работниками компании могут стать только граждане США или постоянные резиденты (счастливые обладатели грин-карты). Также есть вариант получить так называемую лицензию на экспорт.
В SpaceX есть как чисто программистские позиции, так и позиции для программистов-физиков. Первые пишут код, вторые разрабатывают алгоритмы управления и навигации. Если говорить о первых, то компания смотрит прежде всего на способность специалиста писать надежный код на С++ с пониманием того, как работает компьютер на разных уровнях, и умением применять эти знания для решения практических задач.
Один из моих любимых вопросов на интервью звучит так: «Расскажите максимально подробно, что происходит с момента, когда сетевая карта получила пакет с последним куском HTML-страницы, и до того момента, когда браузер перерисует изображение на экране. Этот вопрос позволяет поговорить про взаимодействие с железом, планировщик процессов, сетевые протоколы, менеджмент памяти, обработку событий, изоляцию приложений друг от друга, JIT-компиляцию, графическую подсистему и т.д».
По словам Пахунова, в SpaceX не ищут каких-то специальных «аэрокосмических программистов». Подходящим опытом работы (на С++, поближе к железу) часто обладают выходцы из игровой индустрии, системные разработчики, разработчики встраиваемых/серверных приложений.
Комментарии | 6
Вы написали, что он пересекался с Илоном всего 2 раза, но это не так. Он обращался к нему несколько раз по рабочим вопросам. Ну и виделся в рабочей обстановке явно куда больше.
К сожалению, Алексей не смог проапдейтить для нас информацию, но предоставил нам ссылки на свои наиболее актуальные публично доступные цитаты. Возможно, контакты, о которых вы говорите, быи совсем недавно.
Почитайте комментарии под свежими постами в его блоге. Возможно, он имел именно встречи 1 на 1, а не просто как вы написали «виделись». Может я не так понял написанное, но выглядит именно так.
Так вот кто мимо Марса промахнулся 🙂
Никто не промахнулся мимо Марса, родстер и не направлялся на его орбиту. Он просто не смог бы затормозить для этого. Журналисты неправильно перевели твит Илона. Орбита правильная, ее удалось увеличить до пояса асторидов.
Дякую за посилання на блог Олексія. Буду почитувати 🙂