Skip to main content
Roche logo

Development Engineer

Roche
12 hours ago
Full-time
On-site
Rotkreuz, ZG

Roche Diagnostics International Ltd in Rotkreuz is seeking an Embedded Software Engineer to join its PCR Hardware Abstraction team. Roche Diagnostics operates on a global scale, delivering diagnostic system solutions for clinics, laboratories and doctors’ offices, with the Rotkreuz site employing over 2200 people as one of its main hubs. The focus here is on building software that helps real-time PCR instruments perform precisely, interfacing with custom electronics and sensors in a way that supports accurate, reliable results.

The role centers on crafting Rust-based real-time control software that drives the mechatronics, thermal, fluidic and optical subsystems of in-vitro diagnostic PCR instruments. The software runs on PREEMPT_RT Linux and communicates directly with the instrument’s hardware. This is a full-time, on-site position in Rotkreuz, ideal for anyone who enjoys cross-functional collaboration across hardware and software in a regulated medical-device environment, and who wants to contribute to healthcare solutions that matter. Roche is an Equal Opportunity Employer.

Inside the PCR hardware control loop

Day to day you’ll shape early concepts and feasibility studies to ensure the software meets technical requirements, and you’ll take ownership of defined software development tasks with structured reviews using established checklists and templates. You’ll lead the definition, estimation and planning of work packages, and you’ll improve or document software unit specifications and designs to keep the project moving smoothly. You’ll also review designs and contribute to the software architecture, laying out quality attributes and keeping pace with technology trends. When complex issues arise, you’ll perform root-cause analysis and deliver bug fixes for post-market software releases, ensuring compliance with processes while suggesting improvements and staying up to date with regulatory and market standards.

What you bring to this role

  • Hands-on track record developing embedded or systems-level software in a professional setting
  • Experience with real-time Linux, specifically PREEMPT_RT, or a comparable real-time operating system
  • Familiarity with hardware communication protocols, notably CAN bus
  • A practical feel for real-time constraints such as latency, jitter and task scheduling
  • Proven software engineering experience with a strong focus on Rust, including ownership, borrowing, lifetimes, traits and robust error handling
  • Comfort working with asynchronous programming in Rust
  • Experience with Linux and embedded build/debug tooling
  • A university degree in Software Engineering, Electrical Engineering, Computer Engineering or an equivalent field
  • Highly motivated, deadline-focused, proactive and thorough; comfortable in regulated environments (medical devices, automotive, aerospace or industrial safety) and following structured development processes
  • Excellent communication and teamwork skills; ability to write good documentation and drive work to a conclusion
  • Fluent in English and German
  • Experience with IEC 62304, ISO 13485 or IVDR (medical device software lifecycle standards)
  • Experience with event-driven architectures and message brokers such as RabbitMQ and Domain-Driven Design
  • Familiarity with Kubernetes and Docker for CI/build environments and experience in agile development environments

Location, schedule and practical details

The role is full-time and on-site in Rotkreuz, Switzerland (Rotkreuz, ZG). The posting notes that Roche is an Equal Opportunity Employer. No travel, visa or additional licensing information is provided in the description beyond the onsite requirement and the location details.

Advice for applicants

Lead with your embedded software experience in real-time environments and make sure your resume opens with concrete examples of Rust projects that involved PREEMPT_RT or similar RTOS work.

When you describe your must-have skills, tie each item to a specific outcome: show how you’ve used Rust’s ownership and lifetimes to prevent bugs, or how asynchronous Rust improved a real-time pipeline. Quantify where possible, such as improvements in latency or reliability in past roles.

Be ready to talk through real-time constraints you’ve managed, latency, jitter, and scheduling decisions, in a medical device or similarly regulated setting. Explain a concrete bug you fixed after a product shipped, including your approach to root-cause analysis and the steps you took to prevent recurrence.

Prepare a thoughtful question to ask about the team’s approach to regulatory compliance, product safety, and collaboration between software and hardware groups. For example, you could ask how the team verifies software against IEC 62304 and ISO 13485 requirements, or how they balance rapid iteration with the need for traceable, well-documented processes during development.