CesiumAstro aims to create an out-of-the-box hardware and software experience that enhances customers' ability to rapidly integrate their products into their systems. This role will contribute to the development of low-level and high-level software for Cesium's products, including Linux-based single-board computers and high-reliability microcontroller systems.
Requirements
- Experience in hands-on development and troubleshooting of embedded hardware.
- API design for interfacing with FPGAs.
- Programming experience in C or C++.
- Experience in embedded systems design with preemptive, multitasking real-time operating systems (experience with real-time Linux is desirable).
- Familiarity with software configuration management tools, defect tracking tools, and peer review.
- Excellent knowledge of real-time system coding techniques, IP protocols, interfaces, and hardware subsystems.
- Excellent understanding of multi-threaded applications and resource management.
Responsibilities
- Designing and implementing software for embedded devices and systems, from requirements to production and commercial deployment.
- Designing, developing, coding, testing, debugging, and documenting system software.
- Reviewing code and system designs.
- Analyzing code for efficiency, stability, and scalability.
- Integrating and validating new product designs.
- Supporting software quality assurance and optimizing I/O performance.
- Providing post-production/in-orbit customer support.
Other
- A Bachelor of Science (BS) or Master of Science (MS) degree in Computer Science, Electrical Engineering, or Computer Engineering.
- A minimum of 4 years of industry experience in software development.
- Experience with products for aerospace applications.
- Excellent written and verbal communication skills.
- This role will initially be remote, with a planned transition to in-person work once our Florida office is established.