Software Engineer
Indexed description
Job Requirements*
- Strong hands-on expertise in Modern C++ (11/14/17) features such as smart pointers, lambdas, concurrency, move semantics, auto/type inference on Linux OS
- Deep understanding of STL (containers, algorithms, iterators, function objects).
- Proven experience in multithreading (mutexes, locks, condition variables, atomics, thread pools).
- Solid knowledge of Object-Oriented Design and design patterns (Factory, Singleton, Observer, Strategy, etc.).
- Strong grasp of Data Structures & Algorithms and complexity analysis.
- Experience with build tools like CMake, Make, or GCC
- Familiarity with debugging/profiling tools (GDB, Valgrind, Perf).
Key Responsibilities*
- Design, develop, and maintain high-quality C++ applications on Linux.
- Use Modern C++ (C++11/14/17) features to write clean, efficient, and robust code.
- Implement and optimize components using STL, templates, and generic programming techniques.
- Develop multi-threaded and concurrent modules ensuring thread safety and scalability.
- Participate in architectural discussions, apply design patterns, and contribute to technical decision-making.
- Write efficient algorithms and ensure good time/space complexity.
- Debug, profile, and optimize performance-critical sections of the application.
- Collaborate with cross-functional teams (QA, DevOps, Product) in Agile/Scrum environment.
- Perform code reviews and provide constructive feedback to team members.
- Create and maintain technical documentation.
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search