Summary
✨ AI‑Generated
A software engineering role focused on developing and maintaining backend systems for automated laboratory equipment. The position involves building reliable services, integrating software with physical devices, handling communication layers, managing configuration data, and troubleshooting complex interactions between software and hardware components.
Highlights
Opportunity to build software for advanced laboratory automation systems, working across backend development, hardware integration, diagnostics, and real-world instrument control. The role involves solving complex engineering challenges and collaborating on technology that supports scientific workflows.
Description
Backend Software Engineer — Titan Instrument PlatformAbout the roleYou'll join the team building the control software for Titan, an automated slide-staining instrument used in histology and immunohistochemistry (IHC) labs.
What you'll do• Extend and maintain the .NET backend that runs staining protocols end-to-end: slide/reagent scanning, fluid handling, heating, and multi-step IHC/H&E staining sequences
• Build and debug the IPC layer between the backend and the Electron/GUI frontend, adding new commands and events as features require
• Work directly with instrument hardware: serial-port communication, RFID reagent/slide identification, barcode scanning, pumps, valves, and fluid-level sensors
• Diagnose and fix issues that span software and hardware — timing, race conditions, sensor noise, and mechanical fault handling
• Maintain protocol and configuration data (staining protocols, machine settings, kit registration) and the client that syncs it with the lab's shared database
• Write and improve automated maintenance/self-test routines (heater checks, valve exercises, module cleaning) and error-recovery logic
What you bring• Professional experience in C#/.NET (.NET 6+)
• Comfort working in a multi-threaded, stateful, long-running service — this backend manages a stateful singleton instrument controller, not a stateless API
• Experience with hardware/IPC integration: serial communication, device drivers, or similar embedded/lab-automation work
• Ability to read and extend a large existing codebase with real hardware dependencies, including debugging issues that only reproduce on physical equipment
• Solid fundamentals in async/await, event-driven architecture, and defensive error handling for equipment that can't simply "retry the request"
• Willingness to work on-site with the instrument for testing and validation
Nice to have• Experience with laboratory, medical device, or other regulated hardware software (IVD, FDA/QMS-adjacent development practices)
• Familiarity with Electron or other desktop app frameworks, since the backend talks directly to an Electron GUI
• Experience with barcode/RFID scanning systems or robotics/motion control (XYZ stages, steppers)
• Exposure to ML inference in .NET, for tasks like image-based slide or tissue classification
• Prior work with JSON-based protocol/config-driven systems and versioned settings migrations
• Experience with C/C++, Python, node.js
• Bilingual proficiency: Fluent in English and Chinese (written and verbal)
Tech environmentC#, .NET 6+, Serial Ports, Visual Studio / MSBuild