Senior C++ Software Engineer

We are looking for an experienced Senior C++ Software Engineer with strong hands-on development experience in C++ and a solid understanding of object-oriented programming, databases, and software design. The ideal candidate should be currently working extensively with C++ and have at least 5+ years of professional software development experience.

Experience with Versant Object Database and Embedded Systems would be highly desirable.

Key Responsibilities

  • Design, develop, enhance, and maintain complex software applications using C++.
  • Develop high-performance, scalable, and reliable software components following object-oriented design and programming principles.
  • Work on existing C++ applications as well as new feature development, enhancements, and modernization initiatives.
  • Troubleshoot complex application issues, perform root-cause analysis, and implement effective solutions.
  • Write clean, maintainable, efficient, and well-tested C++ code.
  • Work with databases such as PostgreSQL and/or MongoDB, including data access, queries, integration, and performance considerations.
  • Collaborate with architects, developers, QA engineers, product teams, and other stakeholders throughout the software development lifecycle.
  • Participate in code reviews, design discussions, debugging, performance optimization, and technical documentation.
  • Contribute to application stability, scalability, reliability, and overall engineering quality.
  • Support integration of software components with databases, external applications, and other system-level components.

Required Skills & Experience

  • 5+ years of professional software development experience, with significant hands-on development using C++.
  • Must be currently working with C++ in a development capacity.
  • Strong knowledge of Object-Oriented Programming (OOP) concepts, including inheritance, polymorphism, encapsulation, abstraction, and design principles.
  • Strong understanding of C++ fundamentals such as:
  • Memory management and pointers
  • Data structures and algorithms
  • Multithreading and concurrency
  • STL and standard C++ libraries
  • Exception handling
  • Debugging and performance optimization
  • Experience working with PostgreSQL and/or MongoDB.
  • Good understanding of software development lifecycle, coding standards, version control, testing, and deployment practices.
  • Strong debugging, analytical, and problem-solving skills.

Preferred / Good-to-Have Skills

Versant Object Database

  • Experience with Versant Object Database / Versant Object-Oriented Database is highly desirable.
  • Understanding of object persistence and object-oriented database concepts.
  • Experience integrating C++ applications with Versant or similar object-oriented database technologies would be an advantage.

Embedded Systems

  • Experience developing software for embedded systems or embedded environments.
  • Understanding of resource-constrained or performance-sensitive applications.
  • Experience with low-level programming, hardware/software interaction, device-level applications, or real-time systems would be beneficial.

Ideal Candidate Profile

The ideal candidate is a hands-on C++ engineer rather than someone who has primarily moved into management, architecture, or non-C++ technologies. We are particularly interested in candidates who have recently worked on complex C++ applications involving databases, high-performance systems, embedded environments, or system-level development.

Priority of Skills

Must Have

  • C++ 5+ to 8+ yrs experience
  • Currently hands-on with C++
  • Strong Object-Oriented Programming concepts
  • PostgreSQL and/or MongoDB
  • Strong debugging and problem-solving skills

Good to Have

  • Versant Object Database
  • Embedded Systems experience
  • Multithreading/concurrency
  • Performance optimization
  • Linux/Unix development environment


Similar jobs

C++ Developer

Apply Now
Back to search page