Job Description
Rocket Lab is seeking a Flight Software Engineer II to join their Space Systems team in Toronto. This role involves supporting the development of flight software for satellite components. The engineer will participate in all aspects of software design and development, from requirements definition to coding and testing. Rocket Lab offers frequent opportunities to test and operate software on orbit due to having their own rockets and launch sites.Role involves:
- Designing, developing, and maintaining firmware for satellite components.
- Writing clean, efficient, and well-documented code in C/C++.
- Collaborating with cross-functional teams to identify and solve complex software problems.
- Participating in review of source code changes and ensure all changes meet company coding standards.
- Troubleshooting and debugging issues reported by customers.
- Developing and maintaining comprehensive unit tests to run within a Continuous Integration framework.
Requirements:
- Degree in Computer Science, Electrical Engineering, or Computer Engineering.
- Proficiency in C and C++ languages.
- 3+ years of demonstrated applicable experience in embedded software development.
- 3+ years of experience with firmware development for ARM or RISC-V microcontrollers and their architecture.
- Familiarity with low-level hardware interfaces (I2C, SPI, UART, etc.).
- Strong understanding of data structures, algorithms and design patterns common to embedded systems development.
- Strong software and hardware debugging skills and experience with unit testing frameworks and debugging tools.
- Experience with CLI software build tools such as GNU Make and CMake.
Role offers:
- Opportunity to work on software that will be on orbit within weeks and months.
- Chance to make a big impact on the way we explore space.
- Be part of a driven team of pioneers relentlessly tackling challenging projects.