
Sr. Software Development Engineer C++
PerkinElmer3 months ago
Shanghai, ChinaSenior
Responsibilities
- Design and implement software modules for new chromatography instruments and integrate hardware, data acquisition, and analytical workflows.
- Develop and maintain Windows desktop applications using C++ and Microsoft Foundation Classes.
- Implement and maintain instrument communication protocols for reliable data exchange with host software.
- Contribute to scalable, modular, and maintainable software architecture for instrument-control systems.
- Collaborate with hardware engineers, firmware developers, QA teams, and product managers on end-to-end solutions.
- Write documented, testable code; conduct code reviews; and maintain technical documentation.
- Troubleshoot complex software and system-level issues, perform root-cause analysis, and optimize performance.
Requirements
- At least 5 years of professional C++ development experience with modern and legacy C++ standards.
- Hands-on experience developing MFC applications on Windows, including MFC UI frameworks, message handling, and document/view architecture.
- Understanding of instrument communication protocols including RS-232, RS-485, TCP/IP, USB, Modbus, and SCPI, as well as real-time data acquisition.
- Experience designing software architecture and building modular systems for hardware-intensive applications.
- Proficiency with Visual Studio and the Windows SDK.
- Strong debugging and performance optimization skills in complex multithreaded environments.
- Familiarity with software development lifecycle practices and version control systems such as Git or SVN.
- Bachelor's degree or higher in Computer Science, Software Engineering, Electrical Engineering, or a related technical field.
- Good written and verbal English communication skills and the ability to collaborate globally and cross-functionally.
- Experience with analytical instruments or scientific instrumentation is preferred.
- Knowledge of GMP, FDA 21 CFR Part 11, or other pharmaceutical and life-sciences regulatory standards is preferred.
- Experience with .NET/C# interoperability, COM, or migration from MFC to modern frameworks is preferred.
- Familiarity with embedded systems, firmware interfaces, or low-level hardware drivers is preferred.
- Understanding of multithreading, concurrency, and real-time processing in scientific data acquisition is preferred.