Senior C++ Systems Engineer
We are looking for a passionate and highly skilled Senior C++ Systems Engineer to join our core engineering team. In this role, you will be responsible for re-architecting and rebuilding our suite of cross-platform monitoring agents — currently written in C++ — to meet the demands of modern, high-performance, and scalable infrastructure environments.
You will work at the intersection of system-level programming, OS internals, and distributed agent design, ensuring our agents deliver reliable, low-overhead monitoring across Linux, macOS, Windows, and AIX platforms. If you live and breathe systems programming and get excited about pushing performance boundaries, this role is for you.
Agent Re-Architecture & Development
-
Lead the design and re-architecture of cross-platform C++ monitoring agents from the ground up, ensuring modularity, performance, and maintainability.
-
Evaluate existing agent codebases, identify technical debt, and define migration strategies to modern C++ standards (C++17/20).
-
Implement clean, testable, and high-performance C++ code following established design patterns and SOLID principles.
-
Collaborate with architecture and product teams to define agent feature roadmaps and technical specifications.
Filesystem Monitoring
-
Design and implement filesystem monitoring components using platform-native APIs: inotify / fanotify (Linux), FSEvents / kqueue (macOS), ReadDirectoryChangesW (Windows), and AIX-specific equivalents.
-
Develop efficient file-change detection with minimal overhead, supporting real-time event streams for file create, modify, delete, rename, and permission change events.
-
Handle edge cases such as deep directory watches, high-volume event bursts, and symbolic link traversal across platforms.
Process Monitoring
-
Build robust process lifecycle monitoring using /proc (Linux), kinfo_proc / sysctl (macOS), toolhelp/PSAPI (Windows), and AIX process accounting APIs.
-
Track process creation, termination, CPU/memory consumption, and inter-process relationships (parent-child trees).
-
Implement low-latency event notifications for process state transitions without excessive polling.
Registry Monitoring (Windows)
-
Implement Windows Registry change monitoring using RegNotifyChangeKeyValue and related Win32 APIs.
-
Design efficient registry watch trees with support for key-level and value-level change detection.
-
Ensure reliable event delivery and deduplication under high-frequency registry modification scenarios.
Cross-Platform Engineering
-
Write platform-abstracted agent core logic with clean OS-specific back-end implementations using preprocessor guards and abstract interfaces.
-
Ensure binary compatibility, packaging, and CI/CD pipeline support across Linux (x86_64, ARM), macOS (Intel + Apple Silicon), Windows (x86_64), and AIX (POWER).
-
Author platform-specific build configurations using CMake with cross-compile toolchain support.
Core Technical Skills
-
5+ years of professional C++ development experience, with deep expertise in modern C++ (C++11/14/17 required, C++20 preferred).
-
Strong grasp of OS internals: memory management, process scheduling, IPC mechanisms, system calls, and kernel interfaces.
-
Proven hands-on experience with filesystem monitoring APIs on at least two of the four target platforms.
-
Experience developing cross-platform native software that runs on Linux and Windows (macOS and/or AIX exposure is a plus).
-
Familiarity with multi-threaded programming, synchronization primitives (mutexes, condition variables, atomics), and lock-free data structures.
-
Strong understanding of build systems — CMake preferred; experience with Makefile-based builds on AIX/Linux.
-
Proficiency with debugging and profiling tools: GDB, LLDB, WinDbg, Valgrind, perf, strace/dtrace.
Software Engineering Practices
-
Solid experience writing unit and integration tests using frameworks such as Google Test, Catch2, or Boost.Test.
-
Comfort with Git-based workflows, code review, and CI/CD pipelines (Jenkins, GitHub Actions, or similar).
-
Ability to read, understand, and refactor legacy C++ code with minimal documentation.
-
Experience working with AIX OS internals (POWER architecture, SMIT, ODM, AIX process APIs).
-
Exposure to eBPF / kernel tracing mechanisms on Linux for lightweight observability.
-
Knowledge of endpoint security, EDR, or SIEM agent architectures.
-
Experience with agent-based distributed systems and telemetry pipelines.
-
Familiarity with Rust or Go as supplementary system programming languages.
-
Contributions to open-source system-level projects are a strong plus.