Job Summary:
We are seeking a skilled Senior Software Engineer with 4 to 8 years of experience in C++ desktop application development. The ideal candidate will have strong expertise in C++, MFC, STL, Multithreading, and COM technologies, along with a solid understanding of software development best practices, debugging, performance optimization, and Agile methodologies. Experience with C#, NUnit, and Network Protocol Debugging will be an added advantage.
Role & responsibilities
- Develop and maintain desktop applications using C++ and MFC (Microsoft Foundation Classes).
- Utilize STL for implementing efficient data structures and algorithms.
- Design and implement multithreaded solutions to improve application performance and responsiveness.
- Work with COM (Component Object Model) for software component integration.
- Debug, troubleshoot, and optimize applications for performance, scalability, and reliability.
- Collaborate with cross-functional teams to design, develop, and deliver software solutions.
- Follow coding standards, maintain technical documentation, and ensure software quality.
- Contribute to Agile development processes and participate in code reviews.
- Support additional development tasks involving C#, NUnit testing framework, and Network Protocol Debugging when required.
Preferred candidate profile
- B.E/ B.Tech/ M.Tech/ MCA in Computer Science , Information Technology/ Electronics and Communications / Telecommunication / Electrical / Instrumentation or a related Engineering discipline.
- 4 to 7 years of experience in software development.
- Strong proficiency in C++ programming. Hands-on experience with MFC for Windows desktop application development.
- Good understanding of STL and object-oriented programming principles.
- Expertise in multithreading and synchronization techniques.
- Experience with COM-based development and integration.
- Familiarity with debugging tools and performance optimization techniques.
- Knowledge of Software Development Lifecycle (SDLC) and development best practices.
- Experience with version control systems such as Git and SVN.
- Experience working in an Agile development environment.
Preferred Qualifications that Set You Apart:
- Experience with C# application development.
- Exposure to AI-assisted development tools
- Knowledge of NUnit testing framework.
- Experience in Network Protocol Debugging and analysis.
- Exposure to software testing, automation, and continuous integration practices.
- Strong communication and stakeholder collaboration skills.