Job Description
Overview
We are looking for an experienced SDE IV with deep expertise in modern C++ (C++17 or later) to design, build, and maintain high-performance, reliable, and maintainable system-level software. This role demands strong ownership, technical leadership, and hands-on contribution across complex codebases.
Networking knowledge is beneficial but not mandatory. The emphasis is on C++ systems design, performance, concurrency, and robustness.
Responsibilities
Skills Required
Cmake, Debugging, Gdb, Gcc, Memory Management, make, Multithreading, Concurrency, Linux, Valgrind, PERF, Testing
We are looking for an experienced SDE IV with deep expertise in modern C++ (C++17 or later) to design, build, and maintain high-performance, reliable, and maintainable system-level software. This role demands strong ownership, technical leadership, and hands-on contribution across complex codebases.
Networking knowledge is beneficial but not mandatory. The emphasis is on C++ systems design, performance, concurrency, and robustness.
Responsibilities
- C++ Development & Design
- Design and implement clean, modular, and maintainable C++ systems using modern C++ practices.
- Apply strong OOP and design principles: abstraction, encapsulation, polymorphism, composition over inheritance.
- Leverage modern C++ features (C++11-C++17) to improve correctness, performance, and readability.
- Lead by example in code quality, reviews, and refactoring of legacy systems.
- Define and enforce coding standards and architectural guidelines.
- Memory Management & Performance
- Demonstrate deep understanding of object lifetimes, ownership models, and memory layout.
- Optimize applications by:
- Identifying performance bottlenecks
- Reducing allocations
- Improving cache locality
- Analyze and resolve:
- Memory leaks
- Fragmentation
- Undefined behavior
- Work confidently with custom allocators and low-level memory control when required.
- Concurrency & Multithreading
- Design and implement thread-safe and scalable components.
- Apply concurrency primitives:
- std::thread, mutexes, condition variables
- Atomics and memory ordering
- Understand trade-offs between:
- Lock-based vs lock-free designs
- Synchronous vs asynchronous execution models
- Design or review thread pools and task scheduling systems.
- Debugging, Diagnostics & Reliability
- Use advanced debugging techniques to diagnose complex runtime issues.
- Perform core dump analysis and post-mortem debugging.
- Differentiate behavior across debug vs release builds.
- Implement structured logging and diagnostics for production systems.
- Ensure exception-safe, robust error-handling strategies.
- Testing & Quality Engineering
- Design and enable robust unit and integration testing frameworks for C++ codebases.
- Ensure testability through proper abstraction and dependency management.
- Advocate for correctness, determinism, and long-term maintainability.
- Collaboration & Technical Leadership
- Mentor junior and mid-level engineers on modern C++ and systems programming.
- Collaborate across teams to influence design decisions and technical direction.
- Act as a technical owner for critical components.
- Primary: C++ (C++17 or later)
- Platforms: Linux
- Tooling: GCC/Clang, GDB/LLDB, Valgrind, perf, sanitizers
- Build Systems: CMake / Make
Skills Required
Cmake, Debugging, Gdb, Gcc, Memory Management, make, Multithreading, Concurrency, Linux, Valgrind, PERF, Testing
Apply for this Position
Ready to join ? Click the button below to submit your application.
Submit Application