Общество

Алексей Пахунов, украинец, который программирует Falcon

9 февраля 2018 16:59

Весь мир гудит об успешном запуске ракеты-носителя сверхтяжелого класса Falcon Heavy, которую компания Илона Маска осуществила 6 февраля. Это без преувеличения историческое событие, все причастные к нему люди стали героями. Один из них — украинец Алексей Пахунов, который сыграл важную роль в космических приключениях SpaceX, пишет AIN.UA. Он был ответственным за успешную посадку Falcon 9 в 2015 году, а 6 февраля сидел в первом ряду Mission Control.

Алексей Пахунов родом из Житомира, образование получил в Хмельницком Технологическом университете «Подолье» (теперь Хмельницкий Национальный Университет) по специальности «Компьютерные системы и сети».

В 2004 году переехал в Данию, работать в офисе Microsoft в Копенгаген. До этого также успел пожить и поработать в Румынии. В 2006 году перевелся в команду Windows Kernel и переехал в Редмонд, штат Вашингтон. Затем работал в одной из групп Microsoft Research. А в 2012 году перешел в Google, где работал над Chrome Remote Desktop.

Алексей уехал из Украины в начале 2000-х и сегодня сторонится разговоров о политике, стараясь по возможности избегать околополитических тем. «Главным образом из-за крайне низкого КПД подобных споров. А уж после событий последних лет – так и подавно», — подчеркивает он.

В середине 2013 года с Алексеем связался рекрутер из SpaceX и сделал ему предложение, от которого украинцу было сложно отказаться: «Я мог совместить два своих любимых хобби: программирование и космос», — вспоминает Пахунов. Сегодня он работает старшим разработчиком ПО в группе Flight Software, SpaceX.

К тому моменту компания была уже слишком большой и с Илоном Маском Алексей интервью не проходил. Лично с основателем и СЕО компании он пересекался всего пару раз. «Первый — на компанейских посиделках в ресторане, второй — в довольно стрессовой обстановке, когда нужно было быстро принять сложное решение. Посиделки в ресторане мне понравились больше», — признается Алексей.

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

Мне кажется, что такое «концептуальное» мышление — это одновременно и причина, почему у Маска получается, и причина, почему сроки постоянно ползут вправо».

В команде Алексея Falcon Software работает около десяти человек. Они пишут код для ракет и наземной инфраструктуры. В полете и системах, обслуживающих полет, используется С++ и Linux. В менее критичных системах — широко используется Python и другие языки.

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

Режим работы инженеров SpaceX действительно жесткий, хотя Пахунова это, похоже не смущает. «Время на отдых и личную жизнь остается, хотя, если вы спросите мою жену, она со мной не согласится. В SpaceX легко работать хоть круглые сутки», — говорит он. В компании стараются организовать рабочий процесс таким образом, чтобы свести внеурочную работу к минимуму, но полностью исключить ее не удается.

Время запуска зависит от орбиты, а не от рабочего расписания. Предстартовая подготовка отсчитывается от времени запуска. Я бы сказал, что я работаю 45-50 часов в неделю.

Из-за того, что SpaceX попадает под ограничения ITAR (закон о контроле оружия, среди прочего доступе иностранцев к потенциально военным технологиям), работниками компании могут стать только граждане США или постоянные резиденты (счастливые обладатели грин-карты). Также есть вариант получить так называемую лицензию на экспорт.

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

Один из моих любимых вопросов на интервью звучит так: «Расскажите максимально подробно, что происходит с момента, когда сетевая карта получила пакет с последним куском HTML-страницы, и до того момента, когда браузер перерисует изображение на экране. Этот вопрос позволяет поговорить про взаимодействие с железом, планировщик процессов, сетевые протоколы, менеджмент памяти, обработку событий, изоляцию приложений друг от друга, JIT-компиляцию, графическую подсистему и т.д.

По словам Пахунова, в SpaceX не ищут каких-то специальных «аэрокосмических программистов». Подходящим опытом работы (на С++, поближе к железу) часто обладают выходцы из игровой индустрии, системные разработчики, разработчики встраиваемых/серверных приложений.


ТОП-новости
Последние новости
все новости
Gambling