This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
As a Spacecraft Software Engineer (Associate or Mid-Level) at Millennium Space Systems, you’ll create the software that makes our satellites function in orbit. Your code will run on our custom avionics, process signals from sensors like our star trackers, and command actuators like the propulsion system. Your software may also interface with custom payloads and perform high-level autonomy functions to ensure our spacecraft accomplish their missions. We are looking for software engineers that can lead a small team developing the for a satellite, work with other teams to determine what the software needs to do, and then write (and test!) robust embedded C/C++ to meet those requirements. And when that code is running in space, you’ll continue to support mission operations with software updates and enhancements.
Job Responsibility
Work collaboratively with hardware, control and system engineers to define and develop software requirements, architectures and designs suited for fault-tolerant spacecraft
Rapidly prototype novel software solutions to prove out the architecture/design concepts, quantify technical risk, and create new capabilities
Implement designs in C/C++, integrate software components, create and run unit tests, validate on Hardware-in-the-Loop and release real-time embedded solutions
Assist with system verification and qualification, assessing the outputs and documenting the results to ensure software products that meet system requirements and mission-critical standards
Be responsible for all phases of software development and problem resolution from program inception to post-launch support
Work with hardware engineers to verify hardware-hardware and hardware-software interfaces
Break down the software development needed for a program into smaller discrete tasks that can be given to others to implement and monitor their progress
Perform code reviews to ensure the software being developed is functionally correct, efficient, and meets our coding standards
Requirements
1+ years’ experience in software or hardware engineering, requirements, design, development, test, and working with software and hardware
1+ years of experience working with Linux
1+ years of experience in C and C++ programming
Experienced in embedded environment and/or bare metal C on a microcontroller
This position requires the ability to obtain a U.S. Security Clearance for which the U.S. Government requires U.S. Citizenship. An interim and/or final U.S. Top Secret Clearance Post-Start is required.
Nice to have
Bachelor's degree or higher in Electrical Engineering, Computer Engineering or Computer Science
3+ years of experience in C and C++ programming
Experience with concurrent HW/SW development
Experience with iterative and/or agile development processes
Experience with serial data protocols (HDLC, I2C, SPI)
Experience in Python programming
Experience in Verilog and FPGAs
Experience with git, JIRA, confluence
Knowledge of satellite systems and components
What we offer
Health insurance
Flexible spending accounts
Health savings accounts
Retirement savings plans
Life and disability insurance programs
Paid and unpaid time away from work
Generous company match to your 401(k)
Industry-leading tuition assistance program pays your institution directly
Fertility, adoption, and surrogacy benefits
Up to $10,000 gift match when you support your favorite nonprofit organizations