Salary
💰 $175,000 - $200,000 per year
About the role
- Design and develop high-quality C++ (and occasional Python) code for ROS/ROS 2 nodes, libraries, and utilities (rcl-cpp, actions/services, components, lifecycle, launch).
- Integrate and support sensors and actuators (e.g., cameras, LiDAR, robot controllers), including device drivers, message interfaces, health checks, and diagnostics.
- Architect scalable, testable subsystems (configuration, state machines, fault recovery, observability) using robust design patterns and clean architecture.
- Diagnose and resolve performance and scalability challenges in deployed systems.
- Own components, features, or systems from concept through production deployment.
- Develop reusable software components for interfacing with back-end platforms.
- Collaborate with product, design, operations, and infrastructure teams to deliver innovative solutions.
- Continuously improve code quality, efficiency, and performance; conduct code reviews; document systems; and advocate for safety, reliability, and maintainability best practices.
- Lead development of core C++ and ROS/ROS 2 components and integrate cutting-edge hardware to deliver production-ready automation solutions.
Requirements
- Bachelor’s degree in Robotics, Automation, Advanced Manufacturing, Mechanical/Electrical Engineering, Computer Science, or related field—or equivalent practical experience.
- 7+ years of industry experience in designing and shipping production software, hardware integration, and software architecture.
- 3+ years developing and shipping production software in modern C++ (C++14/17/20).
- 3+ years of hands-on experience with ROS or ROS 2 (nodes, messages, actions/services, launch, packaging).
- Proven track record of owning and delivering components, features, or systems.
- Direct experience at the hardware/software boundary, including device drivers, sensor/actuator bring-up, on-device profiling, and diagnostics.
- Familiarity with large-scale system design and architecture best practices.
- Strong analytical, problem-solving, and decision-making skills.
- Excellent communication and cross-team collaboration skills.
- Ability to thrive in a fast-paced environment with shifting priorities.
- Must have and maintain U.S. work authorization from hire through employment (must secure and maintain work authorization).
- Preferred: Master’s or PhD in Computer Science, Robotics, or related field.
- Preferred: Strong debugging and troubleshooting skills for real robots/embedded systems (logs, tracing, sanitizers, core dumps).
- Preferred: Expertise in object-oriented design and API development; familiarity with SOLID principles and clean architecture.
- Preferred: Proficiency with Linux, CMake/colcon, Git, and common CI tools (e.g., GitHub Actions, GitLab CI).
- Preferred: Solid foundation in algorithms and data structures.
- Preferred: Experience with concurrency and real-time programming.
- Preferred: Recognized as a technical mentor or thought leader.