C++ Engineer (Modern C++) at Encora

Remote - Brazil

Apply

As a C++ Engineer, you will play a key role in shaping the architecture, performance, and scalability of complex systems by leveraging deep expertise in Modern C++. You’ll collaborate with cross-functional teams to enhance infrastructure resilience, optimize delivery pipelines, and elevate observability and security through efficient, high-quality code. This position requires advanced proficiency in memory management, object-oriented design, template programming, metaprogramming, and multithreading.

Responsibilities:

  • Refactor and maintain large-scale codebases with millions of lines of code;
  • Reverse-engineer legacy components and undocumented systems;
  • Diagnose and resolve complex, cross-module issues;
  • Promote exception safety and implement robust error-handling strategies;
  • Ensure code quality and maintainability during refactoring processes;
  • Debug intricate interactions across modules and subsystems.

Essential Skills:

  • Strong proficiency in Modern C++;
  • Deep understanding of memory management (manual allocation, smart pointers, leak detection, custom allocators);
  • Solid grasp of object-oriented design (inheritance, polymorphism, design patterns);
  • Expertise in templates and metaprogramming;
  • Experience with concurrency and multithreading (mutexes, atomic operations, thread safety);
  • Proficient in STL (containers, algorithms, iterators);
  • Familiarity with exception safety and clean error-handling paradigms.

Requirements

Skills

  • Modern C++
  • Memory management
  • Object-oriented design
  • Templates and metaprogramming
  • Concurrency and multithreading
  • STL
  • Exception safety and clean error-handling

Responsibilities

  • Refactor and maintain large-scale codebases with millions of lines of code;
  • Reverse-engineer legacy components and undocumented systems;
  • Diagnose and resolve complex, cross-module issues;
  • Promote exception safety and implement robust error-handling strategies;
  • Ensure code quality and maintainability during refactoring processes;
  • Debug intricate interactions across modules and subsystems.

See if your resume is ready for this job

See how our AI can optimize your resume and improve your chances for this role.