About The Position

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. This role will be based at our Austin, TX headquarters and will report to ICON’s Manager of Embedded Software Engineering.

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
  • 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 Haves

  • Familiarity with hardware design, prototyping, and manufacturing processes is beneficial
  • 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

Responsibilities

  • 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
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service