Чем предстоит заниматься:
- Разработкой инструментов наземных испытаний космического аппарата и составных частей.
- Разрабатывать, поддерживать и модернизировать сервисы на Python.
- Проектировать решения с нуля с учётом возможных изменений.
- Участвовать в процессе разработки от спецификации задачи до демонстрации результата пользователям, участие в code review.
- Оптимизировать производительность расчётных модулей и архитектурных компонентов.
- Написанием кода, взаимодействующего с оборудованием (подключение через COM/USB, Ethernet).
- Взаимодействовать с командами математического моделирования и embedded-разработки.
- Опыт разработки на Python 3.8+ от 4–5 лет (production, сложные системы).
- Глубокое понимание внутренних механизмов Python: GIL, asyncio/greenlets, менеджмент памяти, типы данных, декораторы, метапрограммирование.
- Практический опыт работы с gRPC (protobuf, server/client, streaming, interceptors, оптимизация сериализации).
- Навыки написания чистого, тестируемого кода: pytest, mocking, CI/CD, линтеры (ruff, mypy, flake8).
- Опыт модернизации legacy‑кода, рефакторинга и внедрения архитектурных улучшений.
- Умение работать с технической документацией, переводить математические модели в программную логику.
Будет плюсом:
- Опыт работы с C/C++ и вызовом нативного кода из Python (ctypes, cffi, pybind11, Cython).
- Опыт работы с моделированием или телекоммуникационными системами.
- владение экосистемой scientific Python (NumPy, SciPy, Pandas или аналоги), опыт оптимизации математических вычислений.
- Опыт работы с одним из протоколов: SCPI, Modbus, UART
- Опыт разработки под Linux, опыт работы с Raspberry Pi (будет плюсом)
- Понимание особенностей архитектуры программно-аппаратных комплексов
- Умение выбирать абстракции и писать понятный и поддерживаемый код
- Опыт внедрения систем логирования, метрик и мониторинга (Prometheus, Grafana, ELK).