Українець, який програмує Falcon: Олексій Пахунов, старший інженер польотного ПЗ в SpaceX

9 лютого 2018
Редакція
Весь світ гуде про успішний запуск ракети-носія надважкого класу 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 та інші мови.
 
Mission control - робоче середовище команди Олексія Пахунова
ain.ua
 
За словами Олексія, від будь-якого іншого коду ПЗ для Falcon відрізняється високими вимогами до надійності та передбачуваності поведінки. "Якщо Word або сторінка в браузері можуть впасти з мінімальними наслідками, то на ракеті це загрожує багатомільйонними втратами і можливими людськими жертвами. Це впливає на архітектуру, способи обробки даних і стиль написання коду", - пояснив Пахунов. Абсолютна продуктивність коду менш важлива, ніж стабільний час виконання. Вітається простий код - його легше перевірити і протестувати.


 
Нещодавно Олексій проводив екскурсію в SpaceX для Святослава Вакарчука. "Космічні залізяки і хороша кава справили на Святослава незабутнє враження. Серйозно, у нас безкоштовний еспресо-бар, де баристи варять каву з ранку до вечора. Черга охочих не закінчується ніколи", - написав Пахунов у своєму блозі.
ain.ua

 
Режим роботи інженерів SpaceX дійсно жорсткий, хоча Пахунова це, схоже, не бентежить. "Час на відпочинок і особисте життя залишається, хоча, якщо ви запитаєте мою дружину, вона зі мною не погодиться. У SpaceX легко працювати хоч цілодобово", - говорить він. У компанії намагаються організувати робочий процес таким чином, щоб звести позаурочну роботу до мінімуму, але повністю виключити її не вдається.
 
Час запуску залежить від орбіти, а не від робочого розкладу. Передстартова підготовка відраховується від часу запуску. Я б сказав, що я працюю 45-50 годин в тиждень.

Про найм у SpaceX

Через те, що SpaceX потрапляє під обмеження ITAR (закон про контроль зброї, серед іншого доступ іноземців до потенційно військових технологій), працівниками компанії можуть стати тільки громадяни США або постійні резиденти (щасливі власники грін-карти). Також є варіант отримати так звану ліцензію на експорт.

У SpaceX є як чисто програмістські позиції, так і позиції для програмістів-фізиків. Перші пишуть код, другі розробляють алгоритми керування та навігації. Якщо говорити про перших, то компанія дивиться насамперед на здатність фахівця писати надійний код на С++ з розумінням того, як працює комп'ютер на різних рівнях, і вмінням застосовувати ці знання для вирішення практичних завдань.
Одне з моїх улюблених запитань на інтерв'ю звучить так: "Розкажіть максимально детально, що відбувається з моменту, коли мережева карта отримала пакет з останнім шматком HTML-сторінки, і до того моменту, коли браузер перемалює зображення на екрані. Це питання дозволяє поговорити про взаємодію з залізом, планувальник процесів, мережеві протоколи, менеджмент пам'яті, обробку подій, ізоляцію додатків один від одного, JIT-компіляцію, графічну підсистему і т.д".

За словами Пахунова, в SpaceX не шукають якихось спеціальних "аерокосмічних програмістів". Відповідним досвідом роботи (на С++, ближче до заліза) часто володіють вихідці з ігрової індустрії, системні розробники, розробники вбудованих / серверних додатків.

Джерело: ain.ua
Якщо ви помітили помилку чи неточність, виділіть фрагмент тексту та натисніть Ctrl+Enter.

 

Умови використання матеріалів сайту

Використання матеріалів можливе лише за умови активного гіперпосилання на UaModna ( див. Правила* ). Для генерації коду посилання натисніть на кнопку

Думки, позиції, уподобання та заклики, опубліковані на нашому сайті, є власністю авторів і можуть не співпадати з поглядами редакції uamodna.com