This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
ICON is looking for an Embedded Software Engineer to join our Software Products team in Austin, TX. In this hands-on role you will develop and maintain control software for our production fleet and our space-based robotic systems. You will contribute in all aspects of the software development lifecycle as part of a growing, fast-paced team.
Job Responsibility:
Design and develop controls architecture with a combination of hard and soft real-time requirements
Develop robust communication protocols between supervisory and real-time systems
Program and debug control logic in a variety of languages (e.g. C/C++, Matlab, TwinCAT)
Create modular, object-oriented code that adheres to established coding standards, design patterns, and documentation practices
Lead system integration and validation efforts across hardware and software
Develop and maintain simulated environments and automated test frameworks to support continuous integration and system verification
Support electromechanical hardware systems both remotely and on-site, ensuring safe, reliable operation
Participate in architecture decisions for controls and electrical systems, including component selection and standardization
Collaborate with cross-functional teams and customers to ensure alignment across system interfaces
Participate in design & code reviews to maintain consistency and high-quality output
Requirements:
Degree in Computer Science, Robotics, Engineering or a related field. Advanced degrees are a plus
A minimum of 2 years of professional experience working with C++ 17 or newer in a professional software development role
Hands-on experience with robotic platforms, sensors, actuators, localization, perception, and control systems
Proficiency in programming languages & frameworks commonly used in robotics & automation, such as C/C++, Python, ROS, and TwinCAT
Familiarity with hardware design, prototyping, and manufacturing processes is beneficial
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
Nice to have:
Strong understanding of IP-based computer networking, especially EtherCAT
Proven track record of delivering products to end users and production environments
Understanding of motion or process control in real-time industrial systems
Experience with Bash and/or Python scripting
Experience using Git version control and participating in a peer-review process
Experience programming industrial robots in high-level languages
Experience in formal control theory
A general understanding of inverse kinematics, motion planning, and/or simulation