C++ Software Engineer
Position Summary
The C++ Software Engineer is responsible for designing, developing, optimizing, and maintaining high-performance software applications. This role requires deep knowledge of modern C++, system-level programming, and strong problem-solving skills.
Key Responsibilities
Design, implement, and maintain C++ applications using modern C++ standards (C++11/14/17/20).Develop high-performance and scalable software modules.Optimize code for performance, memory use, and low-latency operations.Work with cross-platform development (Windows, Linux, embedded systems if required).Debug complex issues using tools like gdb, Valgrind, and performance profilers.Collaborate with cross-functional teams (QA, product, DevOps, data teams).Write clean, maintainable, well-documented code and unit tests.Participate in code reviews and contribute to best practices.Integrate software components and third-party libraries.Support deployment, troubleshooting, and continuous improvement of applications.
Required Skills & Experience
Experience with CMake, Boost, or Qt (depending on industry).Knowledge of algorithms, data structures, and design patterns.Experience with multi-threaded and distributed systems.Familiarity with networking concepts (TCP/IP, sockets), if relevant.Strong debugging and profiling skills.Experience with Git, CI/CD, and Agile methodologies.
Preferred Qualifications
Experience in embedded systems, real-time systems, or high-frequency trading.Knowledge of Python for scripting or tooling.Familiarity with cloud environments or microservices (optional)