About the Role
You’ll be working as a Senior Developer on our Endpoint Agent team, responsible for delivering the endpoint software for Linux that helps solve the real-world security problems that IT professionals face. We develop the internal tools used by the security services team to keep our customers safe and informed.
As a senior developer you will be working other developers and managers to deliver complex features for our Linux endpoint agent, You’ll also mentor and coach other developers in your team participate in code reviews, design reviews and help maintain a culture of quality and ownership within the team.
Some of your day-to-day responsibilities will be:
- Deliver endpoint features that will help keep our customers safe.
- Write clear well test code that meets our quality standards.
- Participate in on call rotations.
- Troubleshoot customer issues working alongside customer facing teams.
- Understand and work on complex issues where analysis of situations or data requires an in-depth evaluation of variable factors.
- Exercise judgment in selecting methods, evaluating, adapting of complex techniques and evaluation criteria for obtaining results.
- We value a culture of sharing, so every team has the opportunity to share their work with the entire department during our regular R&D Demos. Once a year we hold a department-wide Hackathon, teaming up across all R&D teams over four days to collaborate and build cool ideas outside the normal project scope. While innovation is the focus, some of these ideas do make it into our products.
About You
- You’re an experienced software developer who has the ability to perform programming tasks and large engineering projects with independence and expertise. You demonstrate mastery over software development practices and easily develop reusable design patterns.
- You have worked closely in a global team of professionals with different cultures and backgrounds to form one unit with a strong sense of purpose. You will learn as you teach, making the whole more than the sum.
- Here are some of the core technologies we use and teach across our Applications teams.
- You should have experience in one or more of these, or similar technologies:
- Experience in Cybersecurity/Security for at least 3+ years.
- 6+ years working experience with Linux.
- Proven experience with building BPF (BCC or CO-RE) based kernel extensions.
- Good understanding of LSM, with work experience being a plus.
- Experience with debugging or solving complex system level issues by using debugging tools such as GDB/LLDB is a plus.
- Experience in building, packaging and releasing Linux software including applications and daemons.
- Experience with security analysis, threat modelling, and vulnerability assessments.
- Knowledge of network protocols, TCP/IP, and related security protocols.
- C/C++/C# system level programming experience.
- Mentoring or coaching experience is a plus
- Object-oriented programming skills with data-structures and algorithms.
- Experience with Python/PyTest framework.
- Knowledge of Cloud technologies AWS or Azure is a plus.
- Knowledge and experience with source repo Git/GitHub/Bitbucket.
- Knowledge and experience with Jenkins/Bazel.
- Knowledge and experience with Docker.
- Ability to work independently and as part of a team.
- Demonstrated capacity to clearly and concisely communicate about complex technical, architectural, and/or organizational problems and propose thorough iterative solutions.
- Comfort working in an agile software development process.