Millennium Space Systems-posted about 2 months ago
Full-time • Entry Level
El Segundo, CA
501-1,000 employees

As a Spacecraft Software Engineer 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. Occasionally, second shift coverage (3:30pm–1:00am) is needed to support vehicle test and integration operations, with this supporting effort distributed across the team This position's internal job code is Software Engineer - Embedded. Our team is currently hiring for Levels 2-3.

  • 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
  • Bachelor's Degree in Computer Science, Computer Engineering, Electrical Engineering or similar with focus on software development
  • 3+ years of experience in C and C++ programming
  • 2+ years of experience with Linux in an embedded environment and/or baremetal C on a microcontroller
  • Ability to work effectively in a dynamic environment with changing needs and requirements
  • Ability to work independently and in a team, take initiative, and communicate effectively
  • 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.
  • 5+ years of work 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
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service