Job Description:
We are looking for a highly skilled Senior C++ Developer to join our team and take part in the development and maintenance of complex real-time simulation systems and 3D environments. The ideal candidate will have strong experience in C++ programming, with a focus on performance optimization, multi-threaded systems, and 3D graphics. This role will involve working on the creation and optimization of simulation environments that demand high levels of accuracy and real-time performance.
If you are passionate about working on cutting-edge simulation systems and have expertise in developing high-performance, real-time software, we want to hear from you.
Responsibilities:
• Design, develop, and maintain complex real-time simulation software with a focus on performance and accuracy.
• Write efficient and clean C++ code that follows modern best practices and ensures scalability.
• Optimize 3D simulations, focusing on rendering performance and real-time responsiveness.
• Implement and manage multi-threaded processes to ensure smooth performance under heavy workloads.
• Handle complex memory management tasks, ensuring efficient use of system resources.
• Collaborate with cross-functional teams to integrate simulation components into larger systems.
• Analyze, debug, and resolve performance bottlenecks in simulation environments.
• Work with data structures and algorithms to improve efficiency in large-scale simulations.
• Use mathematical modeling, particularly in linear algebra and geometry, to simulate real-world environments and interactions.
Required Skills and Qualifications:
• 5+ years of professional experience in C++ development with a strong understanding of modern C++ standards (C++11/14/17/20).
• Deep understanding of Object-Oriented Programming (OOP) principles and design patterns.
• Experience in real-time systems and handling multi-threaded applications.
• Strong knowledge of 3D graphics programming using libraries such as OpenGL, DirectX, or similar.
• Proficiency in memory management, including pointers, smart pointers, and resource optimization.
• Strong understanding of data structures, algorithms, and their optimization in performance-critical applications.
• Experience in implementing physics simulations or managing complex 3D interactions.
• Solid mathematical skills, especially in linear algebra, geometry, and transformations.
• Proficiency in using tools for debugging, profiling, and performance analysis (e.g., gdb, Valgrind).
• Experience with network programming (TCP/UDP) is a plus, especially in distributed systems or simulations.
• Excellent problem-solving skills and the ability to work independently as well as in a team environment.
• Strong communication skills, both written and verbal, with fluency in English.
Preferred Qualifications:
• Experience with Boost, Qt, or other C++ frameworks.
• Familiarity with real-time simulation environments or 3D visualization systems.
• Experience working in both Linux and Windows development environments.
• Knowledge of advanced optimization techniques for large-scale simulations and 3D rendering.