Principal Software Engineer (12+ months // Lafayette, CO):
Description:
Design & Architecture of medical device systems:
-
Lead the design, implementation, and optimization of embedded software architectures for high-reliability medical device platforms.
-
Define scalable software designs for real-time, resource-constrained embedded systems, balancing performance, maintainability, safety, and reliability.
-
Optimize algorithms and system-level behavior for memory, CPU, latency, and deterministic real-time processing constraints.
-
Apply strong debugging, troubleshooting, profiling, and root-cause analysis skills using target hardware, emulators, analyzers, and embedded development environments.
-
Work with microcontrollers, DSP processors, FPGA interfaces, embedded Linux, RTOS-based systems, device drivers, and hardware/software integration points.
-
Guide technical decisions in Agile development environments and promote engineering practices that improve quality, predictability, and execution rigor.
-
Use languages and tools including C, C++, Python, Git, GitHub, Bitbucket, Bash, and GNU toolchains.
Developing Embedded Medical Device Software
-
Design, implement, test, and maintain embedded software for medical devices in compliance with applicable quality system procedures and standards including IEC 62304, ISO 13485, and ISO 14971.
-
Own software design approaches and technical roadmaps across medical device products, platforms, and reusable embedded software components.
-
Optimize solutions for reliability, fault tolerance, efficiency, cybersecurity, privacy, and overall system performance.
-
Translate product, system, and risk-control requirements into robust embedded software designs and implementation plans.
-
Troubleshoot and resolve complex technical issues across hardware, firmware, operating system, application, and interface boundaries.
-
Create and maintain design documentation, traceability, test evidence, and development artifacts throughout the product lifecycle.
-
Commit to achieving project milestones while maintaining technical quality, compliance, and patient safety expectations.
-
Perform duties in compliance with the Quality System and applicable medical device regulations.
Video Expertise
-
Experience with embedded graphics, video pipelines, or display standards such as HDMI, SDI, or DisplayPort
-
Experience with embedded graphics stacks (framebuffer, DRM/KMS, Wayland/Qt, OpenGL ES)
-
Strong understanding of video pipeline architecture: capture → processing → encoding → display
-
Familiarity with hardware-accelerated video pipelines (GPU/VPU/DSP-based)
-
Development of device drivers for video interfaces (HDMI, MIPI CSI/DSI, DisplayPort)
-
Experience with Linux kernel subsystems: DRM/KMS or V4L2 (Video for Linux)
-
Integration of camera sensors, display controllers, and video processing IP
-
Experience working with SoCs (NVIDIA Jetson, Qualcomm, NXP i.MX, TI, etc.)
-
Exposure to FPGA or custom hardware pipelines for video processing
-
Understanding of data paths (DMA, memory bandwidth constraints, zero-copy buffers)
-
Debugging video issues using oscilloscopes, logic analyzers, or protocol analyzers
Duties:
Embedded Software Implementation responsibilities:
-
Develop high-performance, production-quality C and C++ software for embedded medical device systems.
-
Implement and optimize product features that improve system performance, reliability, serviceability, and clinical workflow execution.
-
Collaborate with systems, electrical, mechanical, verification, quality, regulatory, cybersecurity, and clinical stakeholders to deliver safe and effective medical device software.
-
Analyze and optimize computation, data flow, and timing behavior to achieve deterministic real-time performance on embedded platforms.
-
Create clear design documentation, code documentation, and development records that support verification, validation, maintenance, and future product updates.
Additional Responsibilities
-
Evaluate software change requests, defect reports, technical risks, and product impacts for medical devices and supporting tools.
-
Lead major software features, technical workstreams, and cross-functional problem-solving efforts from concept through release.
-
Mentor engineers, review designs and code, and help establish best practices for embedded software engineering excellence.
-
Participate in change control boards, design reviews, risk reviews, technical reviews, and project planning discussions.
-
Communicate technical decisions, tradeoffs, risks, and dependencies clearly to cross-functional stakeholders and leadership.
-
Support continuous improvement of development processes, build and integration practices, and defect prevention methods.
Must Haves:
-
Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or related technical discipline.
-
7+ years of professional experience developing embedded software using C and C++.
-
Demonstrated experience delivering software for real-time or resource-constrained embedded systems.
-
Strong object-oriented analysis and design skills, with comprehensive knowledge of embedded software development best practices.
-
Experience with embedded Linux, RTOS concepts, device interfaces, hardware/software integration, debugging, and root-cause analysis.
-
Experience using Python for automation, tooling, testing, or data analysis.
Nice to Haves:
-
Hands-on experience developing software under FDA-regulated design controls and standards including ISO 13485, IEC 62304, and ISO 14971.
-
Experience with Xilinx toolchains, FPGA integration, DSP processing, or heterogeneous compute platforms.
-
Experience with Git, GitHub, Bitbucket, Bash, GNU tools, CI/CD pipelines, static analysis, automated testing, or software build systems.
-
Experience with cybersecurity, secure boot, software update mechanisms, vulnerability management, or secure software development practices.
-
Experience with DSP hardware and software tools.
-
Experience in agile development methodologies.