Newperkinelmer
Sr. Software Development Engineer C++
Company
Role
Sr. Software Development Engineer C++
Location
China
Job type
Full-time
Found on Mokaru
🔥Recently
Salary
Job description
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)
ShanghaiJob 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.


