Senior Software Engineer
Posted by Remy Porter
Mojave, CA, USA
(Partially Remote) Astrobotic is enabling sustainable access and utilization of the Moon, Mars, and beyond. Through its recent acquisition of Masten Space Systems, we’ve been building and flying reusable rockets for nearly two decades with the most successful rocket-powered landings in the industry. We work directly with NASA, defense, and commercial customers to develop the tech it takes to break down the barriers to space. Together, we’ll make wild napkin ideas possible by taking them from the lab, to the test site, all the way to the lunar surface and beyond.
Include with the application a copy of your resume with a cover letter first, your resume second, and a portfolio at the end if you have one. All of these documents should be combined into one pdf document of less than 10MB and have a filename in the format of Lastname_Firstname.pdf. Only applications in this format will be reviewed. Your portfolio should show projects you have worked on in a hands-on capacity. School projects, prior work projects, or even home projects are acceptable. Include pictures and descriptions of what your part in the project was if it was a team project.
Key Duties & Responsibilities:
- Design and implementation of robust, highly resilient and fault-tolerant distributed avionics systems
- Developing FDIR (Fault Detection, Isolation & Recovery) algorithms
- Selecting third-party/open-source software frameworks (RTOS, middleware, bootloaders, C/C++ runtimes) based on system-level and schedule requirements
- Selection of peripheral devices and interfaces for processing platforms
- Development of drivers and board-support packages (BSP)
- Participating in informal and formal system design reviews and fault tolerance analysis/FMECA
- Supporting flight operations
- Bachelor’s degree in Computer Science, Computer Engineering, or similar
- Thorough understanding of C and C++
- Build tools and infrastructure (Makefiles, shell scripting, compilers, linkers, debuggers, C/C++ runtime libraries, CI tools)
- Embedded systems, microcontrollers, and bare-metal programming
- Development of real-time software on x86 and ARM architectures
- Operating system kernel configuration fundamentals for real-time system behavior
- Detailed understanding of common software design paradigms (message-passing, event-driven, RAII, etc.)
- Understanding of considerations when developing fault-tolerant software components such as error-tolerant file systems, communications agents, memory-scrubbing/EDAC
- Comms protocols (Ethernet, TCP, UDP, IP, CAN, SPI, I2C, UART, IEEE1588 PTP)
- Understanding of basic EE hardware design concepts
- Knowledge of analog/mixed-signal systems design
- Some experience with PCB design and/or board bring-up from an embedded standpoint
- Experience in controls/GNC (implementing state estimation, sensor fusion & similar algorithms)
- Working knowledge of communications security (commsec) and information assurance concepts
- Experience with Modern C++11/14 or emerging systems languages like Rust
- Experience with Linux (driver development, networking, system configuration)
- Bootloader development experience
- Understanding of performance/determinism tradeoffs when writing hard-real-time software
- Spacecraft communications (CCSDS protocols)
- UI/UX experience
- Labview experience
- Salary Range: $110,000 - $165,000
The base salary range represents the low and high end of the anticipated salary range for this position. The actual base salary offered for this position will depend on numerous factors including individual performance, business objectives, and the candidates professional experience. Base salary is just one component of Astrobotic’s competitive total rewards strategy.
To conform to U.S. Government space technology export regulations, including the International Traffic in Arms Regulations (ITAR) you must be a U.S. citizen, lawful permanent resident of the U.S., protected individual as defined by 8 U.S.C. 1324b(a)(3), or eligible to obtain the required authorizations from the U.S. Department of State.
Astrobotic Technology, Inc. does not discriminate in employment on the basis of race, color, religion, sex (including pregnancy and gender identity), national origin, political affiliation, sexual orientation, marital status, disability, genetic information, age, membership in an employee organization, retaliation, parental status, military service, or other non-merit factor.
If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request to firstname.lastname@example.org.