Endpoint Engineer (C++ / Systems)
Accountabilities:
Endpoint Sensor Development
- Design, develop, maintain, and optimize a high-performance endpoint sensor using C++17.
- Build reliable software components capable of running across Windows, Linux, and macOS operating systems.
- Develop capabilities to capture, process, and stream host and network telemetry from customer environments.
- Ensure the endpoint sensor operates with minimal CPU, memory, and system resource consumption.
- Implement robust memory management, thread safety, and graceful failure handling to ensure reliable operation on customer machines.
Systems Engineering and Reliability
- Apply strong computer science fundamentals and systems programming principles to develop efficient, stable, and resource-conscious software.
- Address operating system-level challenges involving memory management, concurrency, process behavior, and system internals.
- Maintain high standards of software correctness, performance, testing, and reliability across all engineering deliverables.
- Identify potential failure scenarios, assess their impact on customer environments, and implement appropriate safeguards.
- Minimize deployment and maintenance risks, particularly in environments where redeployment or direct access to customer devices may be difficult.
Testing and Engineering Infrastructure
- Contribute to the development of virtualized testing environments capable of simulating attack scenarios across multiple operating systems.
- Design and maintain testing approaches that validate endpoint behavior, performance, and reliability under different system conditions.
- Support continuous improvements to development workflows, testing frameworks, and cross-platform software delivery.
Technical Ownership and Project Delivery
- Take end-to-end responsibility for engineering features and projects, from understanding customer requirements to implementation and successful delivery.
- Independently establish priorities, manage multiple major engineering initiatives, and balance them with smaller AI-assisted development tasks.
- Focus on high-impact technical work and respond effectively to urgent engineering requirements.
- Explain technical implementations, justify architectural and engineering decisions, and maintain accountability for delivered solutions.
- Identify potential risks early, communicate challenges transparently, and ensure consistent progress.
Customer Collaboration and Teamwork
- Work directly with customers to understand technical challenges, investigate issues, and deliver solutions that address their needs.
- Collaborate with backend, DevOps, endpoint, frontend, and design engineers within a multidisciplinary engineering team.
- Maintain clear communication regarding project status, technical decisions, challenges, and delivery expectations.
- Contribute to a collaborative engineering culture by sharing knowledge, welcoming feedback, and continuously improving existing solutions.
AI-Driven Engineering
- Use AI agents and advanced language models daily to accelerate software development, investigate unfamiliar technologies, and navigate complex codebases.
- Integrate AI-assisted workflows into problem-solving, technical research, development, and engineering productivity.
- Continuously explore new AI capabilities and apply them thoughtfully to improve engineering efficiency without compromising software quality.
Requirements
- At least 5 years of professional software engineering experience, preferably in systems programming, low-level development, or performance-sensitive software engineering.
- At least 4 years of hands-on experience with modern C++, including strong proficiency in C++17.
- At least 3 years of practical systems programming experience, with a solid understanding of computer science fundamentals, operating system internals, kernel responsibilities, and memory management.
- At least 3 years of experience developing multithreaded applications, managing concurrency, and ensuring thread safety in performance-sensitive environments.
- At least 3 years of experience with memory management and memory safety, including developing stable, efficient, and resource-conscious software.
How Jobgether works
We use an AI-powered matching process to ensure your application is reviewed quickly, objectively, and fairly against the role's core requirements. Our system identifies the top-fitting candidates, and this shortlist is then shared directly with the hiring company. The final decision and next steps (interviews, assessments) are managed by their internal team.
We appreciate your interest and wish you the best!
Why Apply Through Jobgether?
Data Privacy Notice: By submitting your application, you acknowledge that Jobgether will process your personal data to evaluate your candidacy and share relevant information with the hiring employer. This processing is based on legitimate interest and pre-contractual measures under applicable data protection laws (including GDPR). You may exercise your rights (access, rectification, erasure, objection) at any time.
#LI-CL1