Affordable Space Technology & Missions
Astrobotic’s Research and Development group, Future Missions and Technology, is seeking a Software Engineer to join our effort to develop perception solutions for space robotics, planetary landing, and satellite sensing applications. In this role you will contribute to designing, implementing, testing, and maintaining applications and algorithms (from geometric computer vision to deep learning with LiDAR) that will ultimately target and be optimized for space-relevant embedded platforms.
Previous experience working in the space industry or specialized knowledge of the space specific aspects of problems is not required, though previous experience with similar safety critical or high reliability applications is preferred. We are especially interested if you have demonstrated solid fundamentals and previous success in areas such as computer vision, signal processing, compilers, applied deep learning, and/or related fields. We also highly value motivated and engaged coworkers who naturally challenge themselves and add new skills and improve existing ones over time.
Future Missions and Technology is a collaborative working environment where each member of the team has a high degree of freedom, responsibility, and expectations. We’re building solutions to challenging technical problems with the goal of making space more accessible to the world. Astrobotic has developed industry-leading expertise in the areas of autonomous precision landing and hazard detection, real-time rendering with hardware ray tracing, photogrammetry and navigation-grade terrain modeling, and high-performance computing to name a few. The team has a diverse range of backgrounds and skills and the environment is both challenging and supportive.
- Solving problems in the areas of perception, navigation, and robotics with robust, efficient software that achieves system level performance goals on computing constrained embedded platforms
- Writing modular, maintainable software components and developing tests and performance metrics
- Optimizing software to run reliably under fixed run-time constraints
- Working cross-functionally with other engineers and teams to support development and validation of software-In-the-loop and hardware-In-the-loop infrastructure and simulators that model our sensors and the relevant physical systems
- Contributing to both flight programs as well as early-stage R&D
- Strong programming skills with proficiency in C++, C, Golang, Rust, or similar languages.
- Proficiency using and reasoning about data structures and associated algorithms
- Ability to work autonomously, learn on the fly, and take initiative in a fast-paced environment
- Effective communication informally and through technical writing and documentation
- B.S. in Electrical or Computer Engineering, Computer Science, Robotics, Mathematics or a related field, or equivalent proficiency
- Software development including robotic state estimation, guidance, or control systems, sensor processing
- Optimization of algorithms and applications on embedded systems using parallel processing, vector instructions, memory hierarchy on embedded platforms
- Deep technical knowledge in one or more of the following areas: robotics, computer vision, LiDAR, large scale deep learning, state estimation, pattern recognition, path planning and guidance systems, control systems, mapping and 3D reconstruction
- Industry research and/or production experience
- M.S. or Ph.D. in Electrical or Computer Engineering, Computer Science, Robotics, Mathematics or a related field, or equivalent proficiency