Job Description
RESPONSIBILITIES
- Design, implement, and maintain robust, scalable software systems for production automation
- Build core libraries and services supporting motion planning, control, and perception pipelines
- Architect clean interfaces between software components and hardware-facing systems
- Develop vision and sensor-integration software that feeds downstream planning and control stacks
- Optimize software for performance, reliability, and deterministic behavior where required
- Write high-quality, testable Python code with strong emphasis on readability, correctness, and maintainability
- Own software engineering best practices: code reviews, testing strategies, CI/CD, and release processes
- Build simulation, testing, and tooling infrastructure to validate behavior prior to deployment
- Collaborate with robotics, controls, and hardware engineers to translate system requirements into well-defined software abstractions
- Contribute to architectural decisions as the software platform scales across customers and deployments
MINIMUM QUALIFICATIONS
- B.S. in Computer Science or a related engineering field
- Strong software engineering experience, especially in Python
- Experience designing and maintaining complex software systems (services, libraries, APIs, or pipelines)
- Solid understanding of data structures, algorithms, and systems design
- Proficiency with Git, debugging, testing frameworks, and modern development workflows
- Ability to work independently on ambiguous problems in a fast-paced environment
- Due to U.S. export control regulations (ITAR), this position is limited to U.S. Persons (U.S. citizens or lawful permanent residents)
OPTIONAL QUALIFICATIONS
- M.S. in Computer Science or a related field
- Experience working on systems that interact with hardware, real-time constraints, or external devices
- Familiarity with robotics, motion planning, control systems, or computer vision (helpful but not required)
- Experience with ROS or similar middleware
- Knowledge of performance optimization, concurrency, or distributed systems
- Experience deploying software to edge, embedded, or hybrid cloud environments