Highlights
Work on cutting-edge technology, join a global leader in sustainable innovation, enjoy opportunities for personal growth.
Description
Job Summary
pJoin Dassault Systèmes as a Software Developer-C++ in Bangalore, where you’ll design and develop highly scalable backend systems using Modern C++. Leverage advanced templates and object-oriented design patterns to create clean, maintainable code. Collaborate with experts to architect complex pipelines and optimize the build lifecycle.
Responsibilities
- Design and develop scalable backend systems using Modern C++ (C++17/20).
- Create clean, hardware-aware code leveraging advanced templates and object-oriented design patterns.
- Implement multi-threaded pipelines with advanced concurrency primitives.
- Debug and profile production systems using tools like Valgrind and AddressSanitizer.
- Maintain automated testing environments in Linux.
Required Skills
- Modern C++ (C++17/20)
- Object-Oriented Design Patterns
- Concurrency Primitives
- Memory Management Techniques
- Automated Testing Frameworks
Required Skills Explained
{'html': '
- Modern C++ (C++17/20): Understanding of the latest features and best practices.
- Smart Pointers: Familiarity with unique_ptr, shared_ptr, etc., for efficient memory management.
- Lambdas and Templates: Proficiency in using these to write more flexible and generic code.
- Data Structures and Algorithms: Strong grasp of core concepts essential for problem-solving.
- Multithreading and Synchronization Primitives: Hands-on experience with mutexes, condition variables, and other concurrency tools.
- Lock-Free Programming: Ability to design systems that can scale without locks.
- CMake and Build Systems: Knowledge in using CMake and other build tools for efficient development cycles.
'}
Who is this for
pWe're looking for experienced C++ developers who can bring a blend of technical expertise and creativity to our team. Ideal candidates are proficient in modern software development practices and thrive in collaborative environments.
Why This Job is a Good Opportunity
{'html': 'ulliGlobal Leader in Scientific Software Engineering: Join a company at the forefront of innovation.liCulture of Collaboration and Innovation: Engage with a team that values creativity and teamwork.liOpportunities for Personal Development: Continuous learning through various projects and training programs.liMultinational Teamwork: Collaborate with people from diverse backgrounds, enriching your professional network.'}
Interview Preparation Tips
{'html': '
- Practice coding problems in C++17/20 to stay current with the latest features and standards.
- Review concurrency concepts and practice multithreading scenarios using mutexes, condition variables, and lock-free algorithms.
- Be prepared to discuss your experience with design patterns, data structures, and algorithm optimization.
- Pull up documentation for tools like CMake and Valgrind; understanding their use is crucial.
'}
Career Growth in This Role
{'html': 'pThe role of a Software Developer - C++ offers immense potential for career growth. With experience, you can move into more complex projects or leadership roles within the engineering team. Opportunities to mentor junior developers and contribute to architectural decisions make this an exciting path for those who enjoy problem-solving and innovation.'}
Explore More Opportunities
Skills
Frequently Asked Questions
What kind of projects will I work on?You'll work on designing and developing scalable backend systems, implementing multi-threaded pipelines, and optimizing the software build lifecycle.
Are there opportunities for career growth within the company?Yes, Dassault Systèmes offers numerous opportunities for personal development and career progression. You can advance in your technical role or explore leadership positions.
What is the work culture like at Dassault Systèmes?Dassault Systèmes fosters a collaborative and innovative culture where employees are encouraged to bring their whole selves to work every day. We prioritize diversity and inclusion.