Software Engineering - Lab Automation and Software
Agilent Technologies
- Location
- China-Shanghai
- Work model
- On-Site
- Level
- Senior
- H-1B history
- 16 approvals (FY2023)
- Posted
- Aug 12, 2026
Skills
About this role
Job Description
This role develops C#/.NET-based software for laboratory automation platforms that connect instruments, workflows, data, and AI-enabled capabilities. The Software Engineer will deliver reliable instrument communication, desktop and back-end services, scientific data processing, diagnostics, reporting, and intelligent workflow integration for customer-facing automation products.
Key Responsibilities
Design and develop C#/.NET software for laboratory automation, instrument control, data acquisition, diagnostics, and workflow execution. Build instrument communication and control logic for analytical instruments, automation controllers, robotic or sample preparation devices, and connected laboratory systems. Develop C# back-end capabilities including REST APIs, data services, background processing, configuration services, and system integration interfaces. Apply asynchronous and concurrent processing patterns for real-time instrument events, automated workflows, and long-running tasks. Develop scientific data capabilities including spectrum or chromatogram access, data transformation, file parsing, reporting, and result preparation. Create desktop application components using WPF, WinForms, or related technologies for monitoring, configuration, diagnostics, and operator workflows. Integrate AI-enabled features through APIs, service interfaces, tool execution, workflow triggers, or data-processing pipelines. Improve software reliability, observability, performance, error handling, logging, diagnostics, and maintainability for customer-facing automation products. Collaborate with front-end, AI Agent, data science, product, test, application, and instrument teams from design through delivery. Contribute to technical design, code reviews, unit testing, integration testing, troubleshooting, documentation, and release readiness in alignment with Agilent quality and PLC expectations.
Qualifications
Qualifications Bachelor’s degree or above in computer science, software engineering, automation, electronic engineering, instrumentation, analytical science, or a related technical discipline. Minimum 5 years of hands-on C# software development experience, including strong experience with .NET Framework and modern .NET versions such as .NET 6, .NET 8, or later. Strong knowledge of object-oriented design, design patterns, modular architecture, clean code, maintainability, and software engineering best practices. Strong experience with asynchronous programming, multi-threading, concurrency control, deadlock prevention, performance troubleshooting, and long-running task management. Experience building desktop applications with WPF or WinForms for data display, instrument monitoring, configuration, or operator-facing workflows. Experience developing REST APIs, background services, data services, client-server communication, WebSocket, HTTP-based integration, or related enterprise service capabilities. Experience with relational databases such as SQL Server, PostgreSQL, or SQLite, including database design, data access, query optimization, and ORM frameworks such as Entity Framework. Ability to troubleshoot complex software issues across device communication, data acquisition, service integration, performance, reliability, or customer workflows. Strong collaboration skills with cross-functional engineering, product, test, application, and instrument teams. Ability to read technical documentation and participate in technical discussions in English; stronger English communication skills are a plus.
Preferred Experience
Experience in laboratory automation, analytical instrumentation, medical device software, industrial automation, or scientific workflow applications. Hands-on exposure to instrument protocols or device integration such as hardware APIs, SDKs, serial communication, TCP/IP, device drivers, command execution, or diagnostics. Familiarity with TypeScript, Node.js, or JavaScript-based service components for AI Agent