Senior Software Engineer, Instrument Control
Quantum-SiAbout the role
We are looking for an experienced and ambitious instrument control software engineer to join our instrument software team. We’re developing a next-generation system built on a modern, tiered architecture using .NET C# on Linux. Hardware components are integrated through standard communication protocols and emphasize orchestration over low-level control. The system also includes capabilities for cloud connectivity, secure software updates, and performance monitoring.
Note: While some responsibilities involve supporting our current product line, the primary focus is on delivering the new platform.
As part of our team, your core responsibilities will be:
- Design, develop, and maintain services and libraries for a tiered instrument control architecture on Linux using .NET (C#), with an emphasis on reliability, safety, and clear separation of concerns.
- Build a modern UI for instrument operation, status, alerts, calibration, and service workflows; contribute reusable components and MVVM patterns.
- Integrate cloud connectivity for data transfer, configuration, logs, fleet health, and remote diagnostics.
- Capture and query metrics and logs to drive observability, performance tuning, and field reliability.
- Create hardware simulators, fakes, and automated integration tests to enable CI for device workflows without physical hardware.
- Improve operational excellence via health checks, watchdogs, software updates, safety interlocks, failure‑mode handling, and on‑instrument diagnostics.
- Provide targeted sustaining support for the existing product line (triage, small fixes, backports) while prioritizing new‑platform delivery.
- Document software designs, code, and processes for clarity and maintainability.
- Collaborate across engineering, data science, and image analysis teams to translate complex requirements into well-integrated solutions.
Qualifications
Baseline skills/experiences/attributes:
- Bachelor’s degree in Computer Science, Electrical Engineering or a related discipline.
- 5+ years of experience delivering production software in C#.
- Proficiency with Linux.
- Proven ability to design multithreaded systems, state machines, and robust error handling for real-world hardware.
- Strong testing discipline and practical debugging skills across process boundaries and I/O layers.
- Demonstrated ability to design scalable software architectures and produce clear, comprehensive technical documentation.
- Excellent collaboration and communication with cross functional engineering teams.
Ideally, you also have these skills/experiences/attributes (but it’s ok if you don’t!):
- Experience with hardware communication and device integration (e.g., serial/RS-485, I2C, command-response patterns, timeouts/retries).
- Experience shipping desktop UIs (preferably Avalonia or similar MVVM frameworks) and instrument/operator workflows.
- CI/CD for multiprocess systems, containerization, and artifact management.
- Python scripting for automation and control logic.
- C++ experience to support the existing product line.
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s