About The Position

The Principal Embedded C++ Software Engineer (SAFERTOS, Medical Devices, CANbus) 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 developing software running on an embedded platform using SAFERTOS, and proven experience with the CANbus protocol.

Requirements

  • Experience designing, developing and testing production-level embedded software in C++ for safety-critical medical devices running the SAFERTOS real-time operating system (RTOS)
  • 10+ years’ experience and expert proficiency in modern embedded C++ and low-level programming
  • In-depth knowledge and implementation experience with the CANbus protocol and related drivers
  • Experience with hardware-software integration, debugging on target hardware, and using debugging tools (e.g., JTAG/SWD debuggers, oscilloscopes, logic analyzers)
  • 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 other RTOS (e.g., FreeRTOS, VxWorks)
  • Experience with other communication protocols (e.g., SPI, I2C, Ethernet, USB)
  • Experience with EtherCAT
  • Proficiency in other programming languages such as C#, Python, or JavaScript
  • 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
  • Ensure all development activities adhere to regulatory requirements for embedded software for medical devices (e.g., IEC 62304) and industry best practice
  • Create and maintain detailed software documentation
  • Execute with minimal guidance and provide technical oversight and guidance for other team members
  • Mentor junior engineers and drive best practice in embedded software development
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service