Job Description
The Embedded Software Engineer will support the design, development, and testing of embedded software for complex electromechanical medical devices used in ECP and cell therapy. Working closely with senior engineers, you will contribute to firmware development, real-time control logic, hardware / software integration, and system-level testing. You will gain hands-on experience with C / C++, RTOS / embedded Linux, sensors, actuators, pumps, and optical subsystems while learning how to build software compliant with IEC 62304, ISO 13485, and FDA design controls.
Job Requirements
- BS in Computer Engineering, Electrical Engineering, Computer Science, or related field.
- 0–4 years of embedded software development experience (industry, internship, co-op, or academic projects).
- Proficiency in C / C++ for embedded systems.
- Familiarity with RTOS or embedded Linux concepts.
- Understanding of embedded system fundamentals, real-time constraints, and hardware / software interfaces.
- Basic knowledge of communication protocols (SPI, I²C, UART, CAN).
- Strong troubleshooting and debugging skills using oscilloscopes, logic analyzers, or similar tools.
- Excellent documentation, communication, and teamwork skills.
- Ability to manage multiple projects and priorities in a fast-paced R&D environment.
Preferred Qualifications
Experience with Python for scripting, testing, or data analysis.Exposure to AI / ML fundamentals or interest in applying ML to embedded systems (e.g., anomaly detection, predictive control).Familiarity with signal processing, control theory, or interpreting sensor data.Coursework or experience working with medical devices, ISO 13485, ISO 14971, or IEC 62304 (awareness level).Experience in PCB bring-up or basic understanding of digital / analog electronics.Job Responsibilities
Assist in the development of embedded firmware for pumps, valves, sensors, actuators, and optical components in therapeutic systems.Implement and test real-time control modules using C / C++ on microcontrollers, RTOS, or embedded Linux platforms.Participate in system integration with electrical, mechanical, and bioengineering teams to support hardware–software co-development.Support the development of communication interfaces (UART, SPI, I²C, CAN, Ethernet).Contribute to unit testing, debug, and verification of embedded code to ensure performance, reliability, and safety.Assist in preparing software documentation, design history records, and risk analyses in alignment with IEC 62304 and Therakos QMS.Analyze sensor data and participate in early efforts involving signal processing, control algorithms, and system diagnostics.Collaborate on test automation tools (Python, scripting) for verification, regression testing, and data acquisition.Participate in code reviews, design reviews, and continuous improvement activities.Work with system data to train, test, and deploy embedded inference models for clinical and process optimization.Job Benefits
Medical, Dental, Vision InsuranceLife / AD&DShort- and Long-Term Disability401(K) with large company matchHealth Saving Account (HSA) and Flexible Spending Account (FSA) with company matchWellness ProgramEmployee Assistance Program (EAP)Generous Paid Time Off (PTO)Disclaimer : The included statements are intended to describe the general nature and level of work being performed by employees assigned to this classification. They are not intended to be construed as an exhaustive list of all responsibilities, duties and skills required of employees assigned to this position.