Onsite - Ashburn, Virginia
This client is building a mission-driven team committed to delivering space-based solar power to the world. They operate at the intersection of space and clean energy, delivering baseload power 24/7 without seasonality or the need for batteries. They are based in the Northern Virginia/DC area, are backed by world-class investors, and currently operate in stealth mode.
Are you energized by the challenge of building both software systems and teams? As a full stack Senior Software Engineer you will write mission-critical code while helping establish engineering excellence and best practices. You'll develop software for our hardware systems while collaborating with and mentoring other engineers. Initially, you will focus on delivering code for their record-breaking test campaign in early 2025 while helping strengthen their development practices. This role is approximately 70% code and 30% team & process.
Following the test campaign, you'll turn your focus to helping with their future satellite flight software and its integration with hardware systems in space and on the ground. Your work will enable them to build a constellation of next-generation satellites at unprecedented affordability and scale.
Responsibilities:
- Design and build well-structured, maintainable Python-based control and coordination systems for safety-sensitive optical and mechanical hardware and other subsystems
- Develop a framework for continuous integration, delivery and deployment across satellite development and flight systems
- Develop embedded software for microcontrollers in C++ using RTOS that interact with satellite electronics via RS-422/485/232, CAN, I2C, GPIO, SPI, LVDS, etc.
- Develop test approach and test software for unit and system level validation and verification, as well as support of Processors-in-the-Loop, Hardware-in-the-Loop, and Software-in-the-Loop testbeds
- Support development and implementation of Ground Software and Mission Operations infrastructure especially in support of integration with broader system flight software
- Write and review code and participate heavily in hands-on development
- Participate in the entire software development lifecycle, from design through automated and manual testing and deployment
- Build and mentor a high-performing software team while supporting our hardware engineers in their development efforts and tests
- Foster a culture of open communication, continuous learning, and technical excellence
Requirements:
- 7+ years of software engineering experience, with experience mentoring other engineers and contributing to technical direction
- Familiarity with modern software development practices and tools (git, CI/CD, code review, etc.) A track record of technical excellence while also excelling at collaborative leadership
- Experience establishing engineering processes and best practices
- Experience developing in small teams
- Excellent written and verbal communication skills
- Proficient in Python and MicroPython with extensive experience developing software with direct hardware interaction
- Familiarity with multiple programming languages such as C, C++, and Python
- Experience with serial communication protocols (e.g., UART, I2C, SPI)
- Experience with networking protocols
- Experience testing code with hardware in the loop, and then automating those tests
- Experience with telemetry systems, data logging, and transmission over various channels
Nice to have experience:
- Familiarity with PID and other control systems
- Experience with satellite or UAV flight software systems
- Experience with supporting avionics design and development for aerospace applications
- Experience with IoT systems
- Experience with safety-critical systems
- Aerospace experience, especially with satellite flight or ground software