
Sr. Software Development Engineer C
CN10 PerkinElmer Management (Shanghai) Co., Ltd. · Shanghai, China
About The Role
When joining PerkinElmer, you select an experienced and trusted leader in scientific solutions, with the support of a global service network and distribution centers, providing the right solution, at the right time, to meet critical customer needs. With over an 80+ year legacy of advancing science and a mission of innovating for a healthier world, our dedicated team collaborates closely with commercial, government, academic and healthcare customers to deliver our broad portfolio of analytical solutions, and OneSource services.
Job Title
- Sr. Software Development Engineer C++
- Location(s)
Shanghai
Job Description
About the Role
We are seeking an experienced Software R&D Engineer to join our team and drive the development of next-generation chromatography instrument software. In this role, you will be instrumental in building robust, high-performance software systems that power our analytical instruments, ensuring seamless integration, reliable communication, and a superior user experience.
Key Responsibilities
- Chromatography Instrument Software Integration
Lead the design and implementation of software modules for new chromatography instruments, ensuring seamless integration of hardware components, data acquisition systems, and analytical workflows.
- Instrument Communication Protocols
Develop, implement, and maintain communication protocols (Serial, TCP/IP, etc.) to enable reliable data exchange between chromatography instruments and host software systems.
- MFC Software Development & Maintenance
Design, develop, and maintain Windows desktop applications using Microsoft Foundation Classes (MFC) and C++, ensuring long-term stability and performance of legacy and new software products.
- Software Architecture Design
Participate in software architecture discussions and decisions; contribute to the design of scalable, modular, and maintainable software architectures for complex instrument control systems.
- Cross-Functional Collaboration
Work closely with hardware engineers, firmware developers, QA teams, and product managers to deliver end-to-end software solutions that meet rigorous quality and regulatory standards.
- Code Quality & Documentation
Write clean, well-documented, and testable code; conduct code reviews; and maintain comprehensive technical documentation.
- Problem Solving & Debugging
Troubleshoot complex software and system-level issues, perform root cause analysis, and implement effective solutions in a timely manner.
Requirements
- 5+ years of professional C++ development experience with a strong command of modern and legacy C++ standards.
- Hands-on experience with MFC (Microsoft Foundation Classes) application development on Windows; familiarity with MFC UI frameworks, message handling, and document/view architecture is highly preferred.
- Solid understanding of instrument communication protocols (e.g., RS-232, RS-485, TCP/IP, USB, Modbus, SCPI) and real-time data acquisition.
- Experience in software architecture design and building modular, maintainable systems for hardware-intensive applications.
- Proficiency with Visual Studio development environment and Windows SDK.
- Strong debugging and performance optimization skills in complex, multi-threaded environments.
- Familiarity with software development lifecycle (SDLC) and version control systems (e.g., Git, SVN).
- Bachelor's degree or higher in Computer Science, Software Engineering, Electrical Engineering , or a related technical field.
- Good written and verbal communication skills in English ; ability to collaborate effectively in a global or cross-functional team.
Preferred Qualifications
- Prior experience in analytical instrument software (chromatography, mass spectrometry, spectroscopy, or similar scientific instruments).
- Knowledge of GMP, FDA 21 CFR Part 11 , or other regulatory compliance standards in the pharmaceutical or life sciences industry.
- Experience with .NET / C# interop, COM, or migration from MFC to modern frameworks.
- Familiarity with embedded systems , firmware interfaces, or low-level hardware drivers.
- Understanding of multi-threading, concurrency, and real-time processing in scientific data acquisition.
Similar roles you might like
See all →This is an external listing. JobSpring does not represent or verify the employer. Report this listing
