Our 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 base-load 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.
About the Role
As a Team Lead 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 micro-controllers 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 test-beds
Support development and implementation 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
Qualifications
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.
Desired Skills
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