Full Spectrum

Principal Embedded C++ Software Engineer (SAFERTOS, Medical Devices, CANbus)

Full Spectrum • US
PythonC++C# Hybrid
Full Spectrum partners with leading companies in MedTech to develop cutting-edge software for medical devices. With projects focused on embedded systems, mobile apps, robotics, engineers at Full Spectrum love the challenge of working with clients on products that have a meaningful impact. Working across different client projects with a wide range of technologies, a career at Full Spectrum offers both technical and professional growth opportunities.

Principal Embedded C++ Software Engineer (SAFERTOS, Medical Devices, CANbus)

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. 

ROLE 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

KEY SKILLS:
      
·    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

DESIRED EXPERIENCE:
    
·    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