Senior Software Engineer - C++
- Source: Workday
- Veralto
- On-site
- Bengaluru
- Full-Time
- Senior
Job Description
Role Overview
We are seeking a Senior Software Engineer to join the team responsible for one of X-Rite’s strategically important desktop software products. This product plays a critical role in our customers’ workflows and has a large installed base worldwide.
The role combines maintenance and enhancement of an established Windows desktop application built primarily in C++. The successful candidate will contribute to new development, issue resolution, technical debt reduction, and ongoing modernization efforts while ensuring the stability and reliability expected by our customers.
This position is ideal for an experienced engineer who enjoys working with complex software systems, understands the challenges of maintaining and evolving long-lived commercial products, and can balance short-term business needs with long-term technical improvements.
The successful candidate will work closely with Product Management, Quality Assurance, Application Support, and engineering teams across multiple geographies to deliver high-quality software solutions.
Key Responsibilities
- Designing, developing, and maintaining high-quality C++ with a strong focus on performance, scalability, and maintainability.
- Working extensively with Qt libraries, and multi-threaded programming to build robust and efficient applications
- Configuring, building, and troubleshooting applications using CMake build systems and Visual Studio IDE.
- Identifying, analyzing, and resolving complex issues using debugging tools and performance profilers.
- Collaborating with cross-functional teams in an Agile environment using tools such as JIRA and similar tracking systems.
- Analyzing customer and business requirements and translating them into clear technical designs and formal software specifications
- Conducting code reviews, providing technical feedback, and mentoring junior developers to improve overall code quality
- Communicating technical concepts clearly through documentation, design discussions, and presentations
- Continuously learning and adapting to new technologies, tools, and technology stacks as project needs evolve
- Develop and expand automated unit and integration test coverage.
- Contribute to long-term roadmap activities aimed at improving the sustainability of the product platform.
Required Qualifications & Professional Knowledge
- 4 - 8+ years of professional software development experience.
- Strong proficiency in modern C++ and object-oriented software design.
- Experience maintaining and evolving long-lived commercial software products.
- Experience working with large and complex codebases in production environments.
- Strong understanding of software architecture, design patterns, multithreading, and performance optimization.
- Experience debugging complex software issues across multiple layers of an application.
- Hands-on experience with Microsoft Visual Studio, CMake, and Windows application development.
- Familiarity with source control systems, automated builds, testing frameworks, CI/CD pipelines, and issue tracking tools.
- Experience participating in Agile software development processes (Scrum and/or Kanban).
- Strong analytical and problem-solving skills.
- Effective written and verbal communication skills in English.
- Ability to work effectively within globally distributed teams.
Preferred Qualifications
- Experience maintaining and extending mature or legacy software products.
- Experience modernizing existing software systems while maintaining backward compatibility.
- Experience with dependency management solutions such as vcpkg, Conan, or NuGet.
- Experience with automated testing frameworks and software quality engineering practices.
- Experience working in geographically distributed engineering organizations.
- Experience in Windows desktop application development.
Nice to Have
- Experience working with hardware-connected desktop applications.
Education & Experience
- Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related technical discipline, or equivalent practical experience.
Personal Attributes
- Strong ownership mindset and accountability for delivering reliable, high-quality software.
- Pragmatic approach to balancing feature delivery, product stability, and technical improvement.
- Ability to understand and work effectively within existing software architectures before introducing changes.
- Curiosity and enthusiasm for improving long…
Skills
- cplusplus
- qt
- cmake
- microsoft-visual-studio
- visual-studio
- JIRA
- conan
- nuget
- microsoft-nuget
- workday
