Senior Embedded Software Engineer
Redbock - an NES Fircroft company
Lafayette, United States of America
2 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
SeniorJob location
Lafayette, United States of America
Tech stack
C
Agile Methodologies
Data analysis
Automation of Tests
Bash
C++
Static Program Analysis
Software Documentation
Profiling
Encodings
Computer Security
Computer Engineering
Continuous Integration
Software Debugging
Linux
Device Drivers
Linux on Embedded Systems
Embedded Software
Emulators
Fault Tolerance
Firmware
Field-Programmable Gate Array (FPGA)
Github
Python
Linux kernel
Object-Oriented Software Development
OpenGL
QT
Real-Time Operating Systems
Software Tools
Software Engineering
Data Streaming
Systems Integration
Video Editing
Software Vulnerability Management
PIC Microcontroller
Framebuffer
GIT
Build Management
Information Technology
GNU Operating System
Bitbucket
U-Boot
Job description
- 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., 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.
Requirements
- 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, * 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.