Software Engineer I, Perception (New Grad)
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+9 more
Job description
You’ll work on hybrid perception systems combining classical computer vision with modern deep learning for autonomous spacecraft: building multi-object tracking pipelines that fuse neural network detections with Kalman filtering, developing coordinate transformation chains from pixels to orbital frames, training models on synthetic space imagery, and deploying algorithms onboard under strict compute/power constraints. Your work enables spacecraft to detect objects against star fields, track multiple targets through occlusions, discriminate threats from decoys, and generate angle measurements for navigation - using both classical geometric methods and learned representations where each approach excels. This is entry-level work blending traditional robotics perception with modern ML. You’ll implement Extended Kalman Filters, train neural networks in PyTorch, write C++ flight code, and see your algorithms operate in orbit.
This is a 3 month temporary employment engagement. There is potential to convert to regular employment based on performance and business need.
RESPONSIBILITIES
- Implement classical tracking algorithms: Extended Kalman Filters for state estimation, Hungarian algorithm for data association, track management logic (tentative/confirmed/coasted tracks)
- Train neural networks for detection and classification: YOLO for object detection, ResNet-based classifiers for threat discrimination, learned appearance features for re-identification
- Build hybrid perception pipelines: neural network detections * classical tracking * coordinate transformations * angle-only measurements for navigation
- Develop image processing chains: hot pixel filtering, adaptive thresholding, centroiding, connected component analysis, star catalog matching
- Deploy models to edge hardware: quantize neural networks (INT8), integrate with C++ inference engines (ONNX Runtime, TensorRT), optimize for space-qualified processors
- Implement coordinate transformations: pixel * camera frame * body frame * Earth-Centered Inertial (ECI), accounting for lens distortion and attitude uncertainty
- Generate synthetic training data: render spacecraft in Blender with domain randomization (lighting, attitudes, backgrounds), create labeled datasets for rare scenarios
- Validate end-to-end performance: software-in-the-loop simulation, processor-in-the-loop testing, hardware-in-the-loop with real camera feeds
Requirements
- Currently pursuing or recently completed Bachelor’s or Master’s degree in computer science, electrical engineering, robotics, aerospace engineering, or related technical field
- Coursework in both computer vision and estimation theory (or willingness to learn both)
- Proficiency in Python; some exposure to C++ (we’ll teach you more)
- Familiarity with either classical tracking (Kalman filters, data association) OR deep learning (PyTorch, training neural networks)
- Understanding of linear algebra, probability, and coordinate transformations
- Ability to read research papers from both robotics (ICRA, IROS) and ML venues (CVPR, NeurIPS) and implement algorithms
- Strong debugging skills: tracking down lost tracks, numerical instability, and model failure modes
- Eagerness to learn the intersection of classical perception and modern ML
- U.S. Citizen (required for facility access and government contracts)
PREFERRED SKILLS AND EXPERIENCE
- Experience with Extended Kalman Filters, multi-object tracking, or state estimation
- Familiarity with neural network training in PyTorch or TensorFlow: object detection (YOLO, Faster R-CNN), classification, or segmentation
- Understanding of coordinate frames: camera intrinsics/extrinsics, quaternions, rotation matrices, ECI/LVLH/RIC frames
- Exposure to model optimization for edge deployment: quantization (INT8, FP16), ONNX, TensorRT
- Experience with OpenCV, image processing pipelines, or classical feature extraction
- Coursework in optimal estimation, sensor fusion, or probabilistic robotics (Kalman/particle filters)
- Prior work with synthetic data generation, Blender/Unreal for rendering, or domain randomization
- Understanding of data association algorithms: Hungarian algorithm, auction algorithm, JPDA
- Familiarity with tracking-by-detection pipelines: detection * association * update * track management
- Experience debugging visual systems: false positives, missed detections, track ID switches, covariance tuning
- Prior internship or project deploying algorithms to embedded systems (Jetson, mobile, ROS)
- Exposure to multi-modal perception: fusing camera + IMU, camera + lidar, or learned sensor fusion
Benefits & conditions
- Base Salary:
- Denver: $75,000
- Long Beach: $80,000
Your actual level and base salary will be determined on a case-by-case basis and may vary based on the following considerations: job-related knowledge and skills, education, location, and experience.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Dev Digest 121 - AI goes offline
Dev Digest 137 - AI'm not sure about this
How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again
Highest Paying Tech Companies for Developers