{"id":14288,"url":"\/distributions\/14288\/click?bit=1&hash=7892f9ec59fbe57cbbf7dc08e942a15777e95f336ce498c73b1574f3c858cf79","title":"\u041c\u043e\u0434\u0435\u043b\u044c \u00ab\u041a\u0443\u043f\u0438 \u0441\u0435\u0439\u0447\u0430\u0441, \u043f\u043b\u0430\u0442\u0438 \u043f\u043e\u0442\u043e\u043c\u00bb \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u0430 \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0447\u0435\u043a \u043d\u0430 20%","buttonText":"","imageUuid":""}

«Юра, мы всё… Поехали!», или Что делать программисту в космонавтике

Авторы подкаста «Сушите вёсла» пригласили в гости Антона Громова — инженера-математика из «Мегафон 1440», популяризатора космонавтики и автора канала «Море ясности». Узнали всё про космическую отрасль — зачем там нужны программисты, какие языки и технологии они используют и что нужно, чтобы написать бортовой код для спутника (и что это вообще такое — «бортовой код»).

«Сушите вёсла» — подкаст про разработку, аналитику, тестирование и всё, что связано с созданием IT-продуктов. Авторы — руководитель Android-отдела red_mad_robot Рома Чорыев и программист Артём Кулаков.

В эпизоде №18 обсудили, как от программирования зависит успех запуска спутников и кораблей, а Антон рассказал, что поможет стать крутым спецом и писать ПО для космических компаний.

Слушайте подкаст или читайте ответы на семь огненных вопросов про программирование в космонавтике.

Тайминг

02:10 — про старт карьеры и работу в «Фотостране»

08:50 — как попал в проект, который отслеживал следы людей на Луне

15:21 — про деньги в космонавтике

20:22 — на каких языках писать код для космоса

26:10 — про стандарты С в космонавтике и как использовать стандартную библиотеку

30:01 — про юнит-тесты и Git

35:35 — про программистские боли и что хотелось бы улучшить в профессиональной деятельности

40:16 — про цену ошибки в космонавтике и запуск телескопа Уэбба

49:10 — как лучше писать бортовой код

53:10 — как программисту попасть в космическую отрасль

57:30 — что можно программировать в космической отрасли

1:02:15 — где искать работу в космонавтике

01:05:08 — что поможет стать крутым спецом в космическом программировании

«Цель — увидеть следы людей на Луне». Как начать карьеру в космическом программировании

В 2015-м году популяризатор космонавтики Виталий Егоров, известный под ником «Зеленый кот», организовал проект для энтузиастов в космонавтике. Он предложил рассчитать траекторию полёта спутника, который облетит Луну и сфотографирует следы американских астронавтов.

Американцы на рубеже 60-70-х годов шесть раз приземлились на Луну в разных местах. Цель была увидеть следы, которые оставили люди на Луне. Я тогда только понял, что хочу заниматься космосом, потому что до того меня бросало то в одну тему, то в другую. Я даже пожертвовал на этот проект 15 тысяч рублей, потому что это предполагало обед с командой проекта. И это помогло — я начал брать задачи, которые мне поначалу казались несложными. Например, нужно было посчитать, по какой траектории полетит спутник исходя из закона гравитации Ньютона. Подумал, что закон гравитации с девятого класса я запрограммировать смогу.

Антон Громов, инженер-математик «Мегафон 1440»

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

Если не программировать и взять рандомную низкую орбиту над Луной, спутник может упасть за 2-3 дня. А нам нужно было летать год или два. Задача была в том, чтобы найти такую орбиту, на которой мы не упадем сразу же. Более-менее я ее решил. В 2021-м году мы представили окончательный вариант документа, над которым работали 5,5 лет. Это связано с тем, что все работают в свободное время, никакой оплаты за труд нет, поэтому это естественным образом растянулось.

Антон Громов, инженер-математик «Мегафон 1440»

Этот проект помог Антону получить опыт в космонавтике, познакомиться с опытными специалистами, попасть в космическую компанию — сначала в «Даурию», затем в «Мегафон 1440».

Что программировать в космической отрасли

Гость подкаста выделил несколько уровней задач, с которыми сталкивается разработчик в космонавтике.

- На самом низком уровне — чистый embedded, контроллеры, низкоуровневые драйвера.

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

- Затем сам код — большая часть кода работает не на спутниках и кораблях, а на Земле. В основном это испытательное ПО, в России это ЦУП (центр управления полетами). Там нужно достаточно серьезное ПО самых разных областей: мониторинг, контроль, управление.

- Отдельная тема — автоматизация испытаний или тестов. Там тоже может быть сложная логика.

- Ещё одна большая область — моделирование, в неё я тоже очень сильно погружен. Но там уже больше математики.

Антон Громов, инженер-математик «Мегафон 1440»

Пример задачи по моделированию — нужно составить алгоритм разворот спутника в космосе. Но как всё проверить, не запуская его в космос?

Создаём математическую модель спутника, чтобы в ней работал наш бортовой код или аналог с такими же алгоритмами. Затем моделируем разные бортовые алгоритмы и смотрим, как они себя будут вести. А еще желательно моделировать сразу 100 разных сценариев или 100 разных алгоритмов одновременно, чтобы как-то это оптимизировать. Это уже задача на программирование — от чистого программирования плавно переходим в чистую математику, потому что дальше эти алгоритмы нужно как-то разрабатывать и оптимизировать.

Антон Громов, инженер-математик «Мегафон 1440»

В космонавтике всё на энтузиазме или деньги всё-таки выделяются

По словам Антона, в космические компании начинают инвестировать деньги. Success Rockets нашла финансирование для производства орбитальных ракет, в развитие спутникового флота компании «Спутникс» планируют инвестировать несколько миллиардов рублей, «Мегафон 1440» получила 6 млрд рублей.

Но это абсолютно единичные истории. Ещё пару лет назад всё было гораздо хуже, когда «Спутникс» ещё был не на таком уровне, как сейчас, когда не было нашей компании, и Success Rockets были в колыбели.

Антон Громов, инженер-математик «Мегафон 1440»

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

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

Это естественным образом приводит к развитию частной космонавтики. Американская лунная программа была сделана по такой схеме. Лунный модуль, в котором Армстронг приземлился на Луну, построила частная компания. Она конкурировала с другими частными организациями — это была настоящая конкуренция на техническом уровне. Разные организации представляли свои проекты. В НАСА их оценивали и выбирали лучшие. На предприятиях «Роскосмоса» тоже есть интересные проекты, которые делают что-то реальным. Хотя, конечно, в любой частной компании этого на порядок больше.

Антон Громов, инженер-математик «Мегафон 1440»

На каких языках пишут ПО в космонавтике

В космической отрасли в основном всё пишут на С, рассказал Антон. Встречаются элементы Фортрана, потому что так сложилось исторически.

На Фортране писали огромное количество математики, и она отлично проверена, отлажена. И нет смысла переходить с «Фортрана». Для современного человека достаточно дико, что на С — надеюсь, все-таки на С++ — пишут математику. Но это не та математика, которая работает на контроллерах — это моделирование сложных динамических систем. В других сферах это пишут на Python, Simulink или MATLAB. Но в космонавтике отдают предпочтение С++, хотя, по-моему, это не оптимально. Видимо, Python — это слишком модно, молодёжно для космической отрасли, а вот С, видимо, в самый раз.

Антон Громов, инженер-математик «Мегафон 1440»

Космонавтика — очень консервативная отрасль. Антон отметил, что цена ошибки настолько высока, что нет смысла использовать новую технологию ради удобства, когда всё отлажено и работает.

Как моделирование помогает избегать очень дорогих ошибок

Антон подробно рассказал о запуске космического телескопа имени Джеймса Уэбба в декабре 2021-го года. Это один из крупнейших оптических телескопов в истории.

Телескоп Уэбба запустили на ракете «Ариан-5» — по мнению гостя подкаста, одной из самых надёжных ракет в истории. Однако первый запуск этой ракеты в конце 90-х прошёл не очень удачно. Эта была нашумевшая история, о которой написали в книге Space System Failures. Обязательно послушайте захватывающий пересказ Антона с 40:16 — узнаете, почему в такой консервативной отрасли, как космонавтика, нужно всё проверять перед запуском.

Как программисту попасть в космическую отрасль

Антон рассказал, что в «Роскосмос» очень трудно пройти без диплома. Его звали на одно из предприятий «Роскосмоса» — когда узнали про отсутствие диплома, интерес к кандидату быстро исчез.

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

Антон Громов, инженер-математик «Мегафон 1440»

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

Сразу посадили писать бортовой код. Я был несколько в шоке, потому что у меня была такая мечта — отправить свой код в космос. И я думал, что код, который работает в космосе — очень ответственная вещь. Ты не можешь его взять и подправить по ходу. Если спутник завис, не получится нажать кнопочку, чтобы он перезагрузился. Ты не можешь подключить к нему монитор с клавой. А когда я только приходил в компанию, думал, что сейчас наберусь опыта, и меня через полгодика допустят к бортовому коду. Но выяснилось, что так не работает — людей было мало, задач много.

Антон Громов, инженер-математик «Мегафон 1440»

Что поможет стать крутым спецом в космическом программировании

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

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

Антон Громов, инженер-математик «Мегафон 1440»

Полезные материалы

***

Слушайте нас там, где удобно — SoundCloud, Apple, Google Podcasts, Яндекс.Музыка, Spotify.

Предыдущие выпуски подкаста «Сушите вёсла»

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

0
29 комментариев
Написать комментарий...
Andrew Simon
Что делать программисту в космонавтике

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

Ответить
Развернуть ветку
Aleksandr Makarov

Скучно же.

Ответить
Развернуть ветку
Andrew Simon

О. Не хотите поработать на меня бесплатно? Скучно не будет )

Ответить
Развернуть ветку
Иосиф Виссарионович Сталин

Кстати спасибо за идею - когда мы придем к власти все доходы погромистишек за период с 2014 по 202Х будут обьявлены нетрудовыми и подлежащими конфискации. Большинство населения нас поддержит, особенно молодежь

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Ли Си Цын
когда мы придем к власти

Кто "вы"? Сталин вообще-то червей кормит. Хотя сейчас уже минералами почву обогощает :)

Ответить
Развернуть ветку
Виталий Миликин

Дрон, иди в баню

Ответить
Развернуть ветку
Andrew Simon

А по существу что-нибудь? ))

Ответить
Развернуть ветку
Виталий Миликин

Кому ты нужен

Ответить
Развернуть ветку
Andrew Simon

Ну это вроде вы мне написали а не я вам.

Ответить
Развернуть ветку
Виталий Миликин

Дрон, не тяни на себя внимание

Ответить
Развернуть ветку
Andrew Simon

Бот, иди ка ты нахрен ))

Ответить
Развернуть ветку
Виталий Миликин

Спасибо, стал слушателем. Случайно наткнулся. Никогда не знал о вас до этого!

Ответить
Развернуть ветку
Забытый Утюг

Как и ни писал ни одного комментария на vc до этого. А тут вдруг так проникся, что натыкал сразу кучу бессмысленных.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Забытый Утюг

Залетаешь пока только ты, и двигаться будешь в нужном направлении.

Ответить
Развернуть ветку
Виталий Миликин

У утюга забыл спросить

Ответить
Развернуть ветку
Виталий Миликин

Что вас заставляет не быть на Ютубе?

Саундклауд у нас малопопулярен. Может, вы перекатитесь на Ютуб?

Ответить
Развернуть ветку
John Doe

Возможно эти платформы за производство контента доплачивают

Ответить
Развернуть ветку
Иосиф Виссарионович Сталин

Вообще странная статья. Так это одни из немногих программистов которые занимаются реально чем то интеллектуальным, полезным и не вызывают омерзения. Однако на предложении привнести в космонавтику питон все таки ударить захотелось очень сильно. Такой маразм бы только в низкоорбитальной параше типа старлинка прокатил. Как и маразм о каком то частном космосе, когда ради того чтобы высадить армстронга половину сша по сути на плановую экономику перевели. Заказуха короч.

Ответить
Развернуть ветку
Арслан Панаев

Если программисты вызывают у тебя омерзение, это лишь твои половые трудности и не более того.
Хотя судя по нику всё живое вызывает у тебя омерзение.

Ответить
Развернуть ветку
Иосиф Виссарионович Сталин

Ученые до сих пор спорят считать ли вирусы живыми.

Ответить
Развернуть ветку
Арслан Панаев

Нет, давно уже не спорят. А вот менингит, судя по всему поразивший то, что у тебя вместо мозгов и приведший к утрате способности мыслить - вполне себе живой.

Ответить
Развернуть ветку
Иосиф Виссарионович Сталин

Да нет, спорят, судя по твоему уровню образования ты наверное программист. https://www.scientificamerican.com/article/are-viruses-alive-2004/

Ответить
Развернуть ветку
Арслан Панаев

Дату посмотри, она даже в адресе есть. Сейчас немного не 2004 год. Ты специально выставляешь себя идиотом?

Ответить
Развернуть ветку
Иосиф Виссарионович Сталин

Вообще она 2008 с видеопрезентацией 2021 года, потому что энциклопедические сайты обычно обновляют статьи, а не пишут новые. Кроме того ты можешь загуглить любые ссылки за последний год, например https://cosmosmagazine.com/science/biology/why-are-viruses-considered-to-be-non-living/ . Ну короче по навыку работы с информацией сразу видно что программист.

Ответить
Развернуть ветку
Арслан Панаев

Перевод твоей статьи звучит как "Почему вирусы считаются не живыми?"
Я перефразирую свой вопрос - зачем ты выставляешь себя идиотом, ты что мазохист?

Ответить
Развернуть ветку
Иосиф Виссарионович Сталин

Вот именно, как видишь ученые до сих пор спорят по поводу дефиниций. https://www.sciencenews.org/article/viruses-alive-coronavirus-definition Так что твое утверждение что раз я нелюблю программистов я не люблю живое - неверно - нужно вначале доказать что программисты живые. Потому что под критерии развития, сложного строения и эволюции они явно не подходят.

Ответить
Развернуть ветку
Арслан Панаев
Так что твое утверждение что раз я нелюблю программистов я не люблю живое

Мое утверждение о том что ты не любишь все живое не основывается на твоей любви к программистам, а на том, какой ник ты себе выбрал, малыш.

Ответить
Развернуть ветку
Виталий Миликин

Я нашел на Ютубе подкаст годичной давности. Что с вами стало?

Замутите как Джо Роган видосы что ли. Просто себя снимайте

Ответить
Развернуть ветку
26 комментариев
Раскрывать всегда