Кто такой инженер-программист в авиакосмической отрасли? Обзор

О профессии рассказывает Алексей Ткаченко, начальник отдела программирования наземных систем научно-конструкторского управления «Космос» в  ОАО «Пеленг». В компании с февраля 2007 года, на позиции —  с момента создания отдела.

О профессии рассказывает Алексей Ткаченко, начальник отдела программирования наземных систем научно-конструкторского управления «Космос» в  ОАО «Пеленг». В компании с февраля 2007 года, на позиции —  с момента создания отдела.

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

Чем занимается инженер-программист?

В «Пеленге» программист — обширное понятие. Есть отделы, где они работают только по специальности, а есть отделы, где выполняют функции системотехников.  

Возьмем для примера отдел программирования наземных систем. В нем работает 27 человек, разбитых на команды: разработчики ПО, разработчики автотестов, devops-ы. Есть также те, кто обеспечивает административную жизнедеятельность отдела.

Инженеры-программисты подразделения разрабатывают подсистемы, которые становятся частью космических аппаратов и уходят заказчикам как из СНГ, так и в страны дальнего зарубежья. Задачи у программистов отдела можно разделить на два направления:

  • Разработка ПО бортовой техники, которая в будущем полетит в космос. Так, например, они разрабатывали ПО для Белорусского Космического Аппарата.
  • Подготовка наземной части, которая требуется для подготовки бортовой. 

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

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

Получается, что, в отличие от продуктовых компаний, создание ПО в аэрокосмической отрасли — часть программно-аппаратного комплекса, а не конечная цель.

С кем взаимодействует инженер-программист?

У разработчиков широкий круг контактов. Разработчики бортового ПО выполняют задачи вместе с создателями аппаратной платформы, на которой это ПО будет применяться.

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

Когда оборудование приезжает к заказчику, разработчики участвуют в процессе стыковочных испытаний, когда техника начинает впервые взаимодействовать с «настоящим» внешним миром.

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

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

Еще специалисты могут сотрудничать с оптиками, когда появляется задача, связанная с объективом, который проецирует изображение на фотоприемник. Они контактируют с исследователями по поводу внешнего вида систем. Программисты-бортовики общаются с программистами-наземщиками и так далее.

На каком стеке работают?

Стек технологий зависит от направления, которым занимается специалист. 

Разработчики ПО для бортовых процессоров пишут в основном на C и C++. Компиляторы — начиная с достаточно древних вроде GCC 4.8 и вплоть до современных с поддержкой новейших стандартов С++, в зависимости от активного проекта. 

Если говорить о наземной разработке, то драйверы пишут на C, остальной код — на C++ и C#.

UI у нас будет работать на обычном десктопе — здесь у нас C# и WPF, но смотрим в сторону кроссплатформенных решений вроде AvaloniaUI.

Иногда приходится комбинировать подходы, как, например, в стендах, где нужно одновременно и обслуживать оборудование, и иметь пользовательский интерфейс.

Возьмём, к примеру, стенд для проверки и настройки фотоприёмных матриц. Управление аппаратной частью такого стенда реализуется на базе ПЛИС — программируемой логической интегральной схемы. Плата устанавливается к компьютер в PCI-слот. Дальше нужно написать драйвер платы на С, затем управление оборудованием на С++. Пользовательский интерфейс реализуется на .NET, он же интеропится с нижележащим кодом.

Для имитации космического аппарата есть фреймворк, на базе которого модули управления, и набор библиотек для пользовательского интерфейса.

Особенности работы

  • Горизонт планирования отличается от продуктовых компаний и аутсорса. В «Пеленге» сложно построить работу по спринтам, потому что дедлайны далеко в будущем. Это позволяет планировать работу внутри отдела более гибко, основываясь на доверии и условии, что проект будет сделан в срок.
  • Нечастые переработки. Программисты  — одни из последних, к кому попадает проект. Поэтому если в него закладывалось дополнительное время для доработок, то очень вероятно оно будет «съедено» на более ранних стадиях подготовки. К тому моменту, когда оборудование попадает к программистам, процессы могут отставать от графика. Специалистам приходится догонять сроки, которые сорвались из-за коллег и перерабатывать. С одной стороны, это путь к переработкам, но с другой — мы ожидаем таких ситуаций и в какой-то мере можем к ним подготовиться.
  • Разная нагрузка во время работы над проектом. В начале и в конце проекта она отличается, потому что часто по завершении нужно что-то в срочном порядке переделать. Для команд это не новость, они готовятся к авралам заранее. 

Требования к специалисту и карьера

Требуемые hard skills

  • знание языка программирования;
  • знание библиотеки, которая язык предоставляет; 
  • владение типовыми методами и подходами для технологического стека;
  • владение предметной областью, в которой работает специалист;

Набор soft skills

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

Для быстрого роста важно выйти из сферы электроники на любительском уровне или с дипломом о высшем образовании. Алексей окончил факультет радиоэлектроники БГУИР и попал в «Пеленг» сразу после окончания вуза.

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

Что почитать?

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

Сориентироваться поможет еще одна книга от энтузиаста космонавтики Виталия Егорова (a.k.a. Zelenyikot) под названием «Делай космос».

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

Вакансии в «Пеленг»

Подписывайтесь на «Что к чему» —
анамнез и главные симптомы беларуского ИТ.
Цифры, графика, ничего лишнего. Выходит раз в 2 недели.
Спасибо! На указанный адрес отправлено письмо для подтверждения подписки.
Читайте также
В новых списках санкций «Белавиа», «Пеленг» и резидент минского технопарка
В новых списках санкций «Белавиа», «Пеленг» и резидент минского технопарка
В новых списках санкций «Белавиа», «Пеленг» и резидент минского технопарка
Не в тот суд: сотрудникам EPAM и «Пеленг» во второй раз отказали в регистрации первички
Не в тот суд: сотрудникам EPAM и «Пеленг» во второй раз отказали в регистрации первички
Не в тот суд: сотрудникам EPAM и «Пеленг» во второй раз отказали в регистрации первички
EPAM не разрешили создать первичку независимого профсоюза
EPAM не разрешили создать первичку независимого профсоюза
EPAM не разрешили создать первичку независимого профсоюза
Бесплатный тренинг для инженеров-программистов в Promwad (набор до 7 марта)
Бесплатный тренинг для инженеров-программистов в Promwad (набор до 7 марта)
Бесплатный тренинг для инженеров-программистов в Promwad (набор до 7 марта)

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Этот материал нельзя комментировать.