Flight Software Engineer
Loft Orbital
Toulouse, France
About this role:
- Follow the established software development process and adhere to published style and design standards.
- Develop, review, and refine code, ensuring quality and compliance with organizational guidelines.
- Design and implement unit tests for both self-authored and peer-authored code.
- Create and manage work tickets, including transitioning them through defined workflows and resolving them per published standards.
- Utilize version control systems to create feature branches, push code, and merge approved code into production branches.
- Approve merge requests for software classified at Levels D and E in compliance with organizational procedures.
- Contribute to trade studies, including recommending criteria and evaluation metrics as needed.
- Participate in the review and enhancement of software development processes and design standards.
Must Haves:
- Proficiency in programming languages, including C/C++ (any version) and Python.
- Experience with version control systems such as Git (e.g., GitLab, Bitbucket, GitHub, JetBrains Space).
- Familiarity with ticketing systems (e.g., Jira, Redmine, Mantis, Trac, YouTrack).
- Knowledge of continuous integration tools (e.g., GitLab-CI, TeamCity, Jenkins, Bamboo, Travis).
- Expertise in build systems (e.g., Make, CMake, Autotools, Bazel).
- Understanding of distributed application frameworks, such as Message Oriented Middleware (DDS, MQTT, JMS), Message Queue Frameworks (ZMQ, NNG), CANOpen, Player/Stage, Remote Procedure Call systems (gRPC, CORBA, ACE), CCSDS MO, or ECSS PUS.
- Familiarity with networking protocols (e.g., UDP, TCP, IP) and POSIX standards.
- Experience in developing multi-threaded applications.
- Application domain expertise in one or more of the following: packet serialization/deserialization, data model serialization/deserialization (e.g., YAML, JSON, XML), or real-time metrics (e.g., RRDB, InfluxDB, Prometheus).
Nice to Haves:
- Familiarity with additional programming languages, such as C++11/14/17, and Bash.
- Experience with embedded Linux operation, including Yocto, device trees, systemd, and Linux on ARM platforms.
- Proficiency with unit test frameworks (e.g., pytest, Googletest, Unity) and keyword-driven test frameworks (e.g., Robot, Cucumber).
- Experience with static analysis tools (e.g., Clang, LLVM, Cppcheck) and source code linters (e.g., Clang-Format, Parasoft).
- Knowledge of middleware frameworks (e.g., ROS, OpenSplice, Leyly, Mosquitto) or embedded databases (e.g., SQLite, TileDB).
Apply Now
Don't forget to mention Space-Careers when applying.