Lead Embedded Software Engineer
Denver, CO
$120,000 - $180,000
Hybrid)
My client builds and operates a diverse range of small satellite systems supporting space-based turnkey missions for several business applications.
In addition to various science and exploration applications, this includes earth observation, communications, in-orbit demonstrations, and risk reduction opportunities.
Position Summary
Design, write, test, document, debug, bring up, and deploy software to microcontrollers and microprocessors for spacecraft subsystems.
Contribute to mission schedule definition and keep projects on track.
Primary Duties and Responsibilities
- Quickly learn our existing spacecraft system architecture and adapt the software to new mission requirements.
- Estimate workload and duration of high-level tasks and work with colleagues to share effort.
- Work with customers, program managers, and system engineers to ensure the project stays within scope.
- Closely support customers with the integration of their payload into our bus.
- Oversee the entire software development lifecycle from conception to deployment.
- Be a forcing function to gather necessary information and resources from stakeholders.
- Work with Electrical, RF, and Software engineers to implement new subsystems or design revisions of embedded computers that communicate with core flight software.
- Maintain and enhance existing embedded software.
- Write C and Python drivers for integrated circuits I2C, SPI, UART or other interfaces based on manufacture datasheets.
- Work in the lab to test and debug hardware, peripherals, and payloads.
- Create board support packages (BSP) for internal custom designs.
- Write interface control documents (ICD) or Application Programming interfaces (API) and core flight software drivers for the embedded systems.
- Gain a system level understanding of Astro Digital spacecrafts.
- Occasionally fill in for higher level software tasks.
Minimum Qualifications
- At least 5 years of professional experience, ideally in aerospace or in part a leadership or product ownership position.
- Proven experience in leading and managing software projects.
- Ability to work effectively in a collaborative team environment.
- BS in Software Engineering, Computer Science, or related field.
- Proficient in C or C++ programming. Comfortable with Python.
- Experience with Embedded-C or RTOS : threads, interrupts, concurrency, HAL.
- Experience developing hardware drivers for SPI, UART, and I2C peripherals.
- Comfortable with command-line environments (Linux) and scripting.
- Ability to work independently with minimal guidance.
- Familiarity with network abstraction layers.
- Excellent written and verbal communications skills.
Preferred Qualifications
- Experience with building systems like Yocto, CMake, using device trees, linking libraries, etc.
- Experience with Zephyr RTOS or the MSP430 microcontroller.
- Experience with Linux kernel module driver development. Networking is a plus.
- Xilinx Zynq / FPGA knowledge and software toolchain.
- General hardware stills (reading schematics, probing with instrumentation, etc.).
- Familiarity with GNU Radio or Software Defined Radios (SDR).
- Familiarity with HAM radio, RF Engineering or low-level protocols.
Salary
$120,000 - $180,000 and employee stock options, based on experience.
U.S. citizenship, U.S. legal permanent resident status, or protected person status under 22 CFR 120.15 and 8 U.S.C. 1324b(a)(3) is required.