Design, develop, and maintain applications and system-level components using C and C++.
Implement and optimize multi-threaded and networked (socket-based) software modules.
Work closely with low-level Windows/Linux OS APIs to enable robust and efficient system behaviour.
Perform advanced debugging, root-cause analysis, and performance profiling of complex software issues.
Collaborate with cross-functional teams to define requirements, design architecture, and deliver high-quality features.
Write clean, efficient, well-documented, and portable code.
Participate in code reviews, testing, and continuous integration activities.
You will work with a talented team, explore innovative technologies, and build solutions that directly empower digital investigators worldwide.
Required Skills & Qualifications
Bachelors or Masters degree in Computer Science, Engineering, or related field
Strong hands-on programming experience in C and C++
Deep understanding of Operating System internals, including : Processes & threads, Synchronization primitives, Memory management, File systems, Networking stacks
Experience developing on Windows and/or Linux platforms
Strong knowledge of sockets programming (TCP/UDP)
Solid debugging skills
Experience with build systems
Preferred-to-Have
Experience with distributed systems or high-performance computing
Knowledge of security practices in systems programming
Familiarity with scripting languages (Python, Bash, PowerShell)