About The Position

The Principal Embedded C++ Software Engineer (Linux, EtherCAT, Robotics) will have the opportunity to work on a diverse set of products, including complex medical devices, robotics, and industrial equipment. This position requires deep expertise in C++, a strong background in real-time control systems, and proven experience with the EtherCAT protocol for high-speed, deterministic communication.

Requirements

  • Experience designing, developing and testing production-level embedded software in C++ for safety-critical systems
  • 10+ years’ experience and expert proficiency in modern C++ and object-oriented design principles
  • Demonstrated, hands-on experience with the EtherCAT protocol for high-speed industrial control or robotics
  • Strong understanding of real-time concepts, thread synchronization, memory management, and performance tuning on Linux
  • Strong experience with modern SDLC processes (unit testing, static analysis, CI/CD)
  • Strong familiarity with modern software development tools (Git, SVN, or other industry-standard source control)
  • Experience using Agile techniques, including task / issue management
  • Demonstrated commitment to high quality
  • Strong oral and written communication skills
  • Highly motivated, self-disciplined, independent and results oriented
  • Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Physics or related discipline preferred, or equivalent years of experience

Nice To Haves

  • Experience with industrial safety standards and designing software for functional safety
  • Experience with Yocto
  • Experience developing and maintaining CI/CD pipelines

Responsibilities

  • Take a key role in a fast-paced cross-functional team
  • Collaborate directly with clients to understand requirements and make critical design decisions
  • Contribute to the full software development lifecycle, including requirements analysis, design, development, code review, unit testing, integration, and verification
  • Collaborate closely with the cross functional team to define interfaces, integrate actuators/sensors, and troubleshoot system-level performance issues
  • Implement software features for safety monitoring and fault handling in accordance with industrial safety standards
  • Create and maintain detailed software documentation
  • Execute with minimal guidance and provide technical oversight and guidance for other team members
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service