ICON is looking for a Senior Robotics Software Engineer to join our Software team in Austin, TX. As a Senior Robotics Software Engineer, you will help develop and maintain robotic control software for all of ICON's robotic systems. You will be responsible for developing high-performance C++ software to drive complex arm motions, integrating real-time sensor data, and ensuring reliable motion planning. This role is based at ICON's Austin, TX headquarters, and will report to the Director of Embedded Software Engineering.
RESPONSIBILITIES
- Design, develop, and optimize high-performance C++ software for controlling and coordinating large-scale robotic arms.
- Develop robust motion planning and trajectory generation algorithms to safely navigate industrial arms through complex workspaces.
- Implement real-time sensor fusion and state estimation algorithms (using sensors like IMUs, LiDAR, etc.) to improve arm localization and end-effector precision.
- Program robotic arm motions in coordination with other systems.
- Develop and maintain simulated environments and automated test frameworks to support continuous integration and system verification.
- Lead system integration and validation efforts across hardware and software.
- Participate in architecture decisions for controls and electrical systems, including component selection and standardization.
- Participate in design & code reviews to maintain consistency and high-quality output.
MINIMUM QUALIFICATIONS
- Masters Degree or higher in Software Engineering, Robotics, Mechanical Engineering, or a related field.
- 5+ years of professional experience in robotics software development.
- Expert-level proficiency in modern C++ (17 or newer) and Python within a professional robotics software development environment.
- Deep foundational understanding of robotic arm kinematics (forward and inverse), multi-body dynamics, and motion planning.
- Hands-on experience with robotic platforms, sensors, actuators, localization, perception, and control systems.
- Practical experience designing and optimizing sensor fusion and state estimation algorithms (e.g., Kalman Filters).
- Strong knowledge of autonomy algorithms, robotics frameworks (such as ROS), and simulation environments.
PREFERRED QUALIFICATIONS
- Experience programming industrial robots in high-level languages.
- Experience in formal control theory and linear algebra.
- A general understanding of how to manage redundant kinematic chains or stabilize dynamic systems.
- Proven track record of delivering products to end users and production environments.
- Familiarity with hardware design, prototyping, and manufacturing processes.
- Excellent problem-solving skills and a strong analytical mindset to identify issues, propose innovative solutions, and make data-driven decisions.
- Ability to earn trust, maintain positive and professional relationships, and contribute to a culture of performance.