C++ Developer
Summary
Develop and optimize C++ geometry-based applications and algorithms, focusing on CAD/CAM or geometry kernel technologies. Tasks include 2D/3D modeling, code reviews, debugging on Windows using Visual Studio, and ensuring locale-independent data handling.
We are looking for a C++ Software Engineer with 3-4 years of experience in designing, developing, and optimizing high-performance software applications. The ideal candidate should have strong expertise in modern C++, data structures, algorithms, object-oriented programming, and software engineering best practices. Candidates from any domain background are encouraged to apply.
Key Responsibilities
- Design, develop, and maintain robust applications using C++.
- Write clean, efficient, and maintainable code following industry best practices.
- Collaborate with cross-functional teams to analyze requirements and develop software solutions.
- Participate in code reviews, debugging, testing, and performance optimization activities.
- Build, debug, and profile native C++ applications using Visual Studio.
- Develop reusable components, libraries, and framework-level functionalities.
- Ensure application reliability, scalability, and performance.
- Work with version control systems and CI/CD workflows.
- Create and maintain technical documentation where required.
- Leverage AI-assisted development tools to improve productivity while ensuring code quality and correctness.
Requirements
Key Requirements
- 3-4 years of hands-on experience in C++ development.
- Strong understanding of Object-Oriented Programming (OOP) principles.
- Good knowledge of Data Structures, Algorithms, and Software Design Concepts.
- Experience in debugging, troubleshooting, and performance optimization.
- Proficiency with Microsoft Visual Studio (MSVC) for development and debugging.
- Familiarity with Git and version control practices.
- Experience working with CMake and build management workflows.
- Understanding of memory management, multithreading, and concurrency concepts.
- Knowledge of software development lifecycle and coding best practices.
- Strong analytical, problem-solving, and communication skills.
- Experience using AI coding assistants (e.g., GitHub Copilot, Cursor) is preferred.
Nice to Have
- Experience with system-level programming or high-performance computing.
- Exposure to Windows desktop application development.
- Knowledge of software architecture and design patterns.
- Familiarity with unit testing frameworks and automated testing.
- Experience working in Agile development environments.