Software Engineer II - C++
Summary
Anlage Infotech is hiring a Software Engineer II (C++) in Bengaluru to design, develop, test, and maintain high-performance applications. Day to day involves building multithreaded, memory-efficient components, debugging and optimizing code, writing unit tests, and collaborating in Agile teams using Git, CMake, and Visual Studio.
Position : Software Engineer-II (C++ Developer).
Experience : 3 - 5 Years.
Location : Bengaluru, India.
Employment Type : Full-Time.
About the Role :
We are looking for a passionate and skilled C++ Developer with 3 - 5 years of experience to join our software engineering team. The ideal candidate will be responsible for designing, developing, testing, and maintaining high-performance software applications. The candidate should possess strong problem-solving skills, expertise in modern C++, and experience working in collaborative Agile development environments.
Key Responsibilities :
- Design, develop, and maintain software applications using C++.
- Analyse software requirements and translate them into robust technical solutions.
- Develop reusable, maintainable, and scalable software components.
- Debug, troubleshoot, and optimize existing applications.
- Implement multithreaded, high-performance, and memory-efficient solutions.
- Create unit tests and ensure code quality through automated testing.
- Collaborate with UI, QA, DevOps, and product teams throughout the software lifecycle.
- Prepare technical documentation, design specifications, and user guides.
- Participate in Agile/Scrum ceremonies including sprint planning, reviews, and retrospectives.
- Support software releases, production deployments, and customer escalations when required.
Required Technical Skills :
Programming :
- Strong proficiency in C++ (C++11/14/17 preferred).
- Solid understanding of :
1. Object-Oriented Programming (OOP).
2. Design Patterns.
3. Data Structures & Algorithms.
4. STL (Standard Template Library).
Software Development :
- Experience with software design and development lifecycle.
- Knowledge of memory management, pointers, smart pointers, and performance optimization.
- Experience in debugging complex software applications.
- Familiarity with multithreading, concurrency, and synchronization mechanisms.
Tools & Technologies :
- Git / Azure DevOps / SVN.
- CMake, Makefile, or other build systems.
- Visual Studio, GCC, Clang.
- Unit Testing Frameworks (Google Test, Catch2, etc.).
- CI/CD concepts.
Operating Systems :
- Good knowledge of :
1. Linux.
2. Windows.
Database (Preferred) :
- SQL / SQLite / PostgreSQL.
Preferred Skills :
- Experience with desktop application development using :
1. Qt Framework.
2. MFC.
- Exposure to Python scripting or automation.
- Experience with REST APIs and client-server architecture.
- Knowledge of software architecture principles and SOLID design concepts.
- Experience working on product development or engineering tools.
Educational Qualification :
- Bachelor's or master's degree in :
1. Computer Science.
2. Information Science.
3. Electronics & Communication.