The role contributes to building and maintaining software for regulated medical devices that combine hardware and software, plus the engineering tools used to build them.
You will work under experienced engineers and help with design, coding, integration, testing, troubleshooting, and documentation across embedded and device-facing systems.
You will work with several cross-functional teams and keep up with new technology, including AI-assisted engineering tools used responsibly.
Responsibilities
Take part in requirements refinement, design discussions, design reviews, and test planning, guided by senior engineers.
Design, build, test, and maintain software for medical devices and their engineering tools.
Write clean, maintainable code and the documentation that supports it, following established engineering practices.
Help integrate, debug, and troubleshoot embedded software, electronics, electromechanical parts, and device communication interfaces.
Write and run unit, component, integration, or automated tests suited to your assigned work.
Join code reviews and help investigate defects, find root causes, and resolve product or field issues.
Work with Systems, Software Test, Quality, Manufacturing, Product Support, and other teams across the product lifecycle.
Contribute to regulated lifecycle documents such as requirements, design descriptions, test records, traceability records, and technical reports.
Follow the company's practices for software development, configuration management, cybersecurity, quality systems, DevOps, and Agile.
Explore modern engineering tools, including AI-assisted development tools. Check their output and remain responsible for the final work.
Requirements
Bachelor's degree in Computer Engineering, Software Engineering, Computer Science, Electrical Engineering, or a closely related technical field.
0 to 2 years of relevant experience. Internships, co-ops, research, capstone projects, academic work, or industry roles all count.
A grounding in software engineering principles, data structures, algorithms, and structured or object-oriented design.
Experience in at least one language such as C, C++, Python, or Java, gained through study, projects, internships, or work.
A basic working knowledge of software testing, debugging, source control, and configuration management.
Exposure to embedded software, real-time systems, microcontrollers, device communication, or hardware and software integration: preferred.
Familiarity with interfaces or protocols such as UART/RS232, SPI, I2C, CAN, USB, Ethernet, Wi-Fi, or Bluetooth: helpful.
Exposure to regulated product development, medical devices, IEC 62304, ISO 13485, or FDA quality system rules: helpful but not required.
Curiosity and a willingness to learn new technology, including using AI-assisted engineering tools responsibly. You can judge and verify AI-generated output.
Strong problem-solving, analytical, verbal and written communication, and teamwork skills.
Conditions
The pay range below is the company's good-faith estimate of base pay for this role at posting, based on its job grade. Actual pay within the range depends on factors such as location, and the company may pay above or below it. The range may change.
This pay disclosure applies only to positions in locations with pay transparency requirements under state or local law.
Any bonus, incentive, or other compensation or benefit is not earned until it is paid, and the company may decide or change it at its sole discretion, consistent with applicable law.
The company is an equal opportunity employer that includes veterans and people with disabilities. This applies to US and Puerto Rico positions only.
Benefits
Paid time off, including vacation, holidays, and sick leave.
Medical, dental, and vision insurance, and a 401(k), for eligible employees.