C++ Developer - Senior Software Engineer
CGI · Bengaluru, Karnataka, India
CGI · Bengaluru, Karnataka, India
**Position Description:** Designed and developed a high-performance, multi-threaded trading and risk management platform using C++ on Linux. Implemented scalable and reusable modules for market data processing, order management, trade execution, and risk calculations while adhering to object-oriented design principles and design patterns. **Responsibilities:** - Design, build, and maintain efficient, reusable, and reliable C++ code - Implement performance and quality modules - Identify bottlenecks and bugs, and devise solutions to these problems - Help maintain code quality, organization, and automatization **Must-Have Skills:** - Strong proficiency in C++, with fair knowledge of the language specification - Strong knowledge in Unix/Linux and Oracle/ SQL or any other Database - Should has expert knowledge and hands-on experience in Data Structure and Design Patterns - Thorough knowledge of the standard library, STL containers, and algorithms - Good understanding of memory management in non-garbage collected environments - Understanding of dynamic polymorphism and C++ specific notions, such as friend classe - Familiarity with templating in C++ - Knowledge of the latest C++ standard is appreciated - Knowledge of low-level threading primitives and real-time environments - Familiarity with system call wrapper library functions / API mgmt - Knowledge of writing native modules for high-level languages such as Node.js, Python, Go, etc. - Familiarity with language tools, such as Valgrind - Implementation of automated testing platforms and unit tests - Proficient understanding of code versioning tools - Familiarity with continuous integration **Good to have:** - Knowledge of the latest **C++ standards** (C++11/14/17/20) - Experience with **low-level threading primitives** and real-time systems - Familiarity with **system call wrapper libraries** and API management - Experience in writing **native modules/extensions** for high-level languages such as: - Node.js - Python - Go - Familiarity with memory profiling and debugging tools such as: - Valgrind - Experience with **automated testing frameworks** and **unit testing** - Knowledge of **Continuous Integration (CI/CD)** practices - Experience with **code versioning tools** such as: - Git - Understanding of **dynamic polymorphism**, advanced OOP concepts, and C++ features like friend classes - Familiarity with **C++ templates** and generic programming. **Position: Senior Software Engineer/Lead Analyst** **Experience: 6 to 10 Yrs** **Category: Software Development/ Engineering** **Shift: 10: to 6 PM(3 Days Mandatory Work from Office)** **Main location: India, Karnataka, Bangalore** **Notice Period: Immediate to 15 Days** **Position ID: J0526-2173** **Employment Type: Full Time** **Education Qualification**: Bachelor's degree in Computer Science or related field or higher with minimum 3 years of relevant experience.