
Linux Software Engineer - Systems & Security
About us:
The physical and digital worlds are merging. Vehicles, medical devices, industrial systems, critical infrastructure: security hasn't kept pace. AI is accelerating everything, from the capabilities of the systems we depend on to the sophistication of the threats targeting them. A software vulnerability can now have physical consequences. A physical breach can compromise entire digital ecosystems. Billions of devices operate with little to no protection, and traditional approaches can't keep up. Not at this scale, not at this speed, and not across this diversity of systems.
Exein exists to solve this. We build the security layer for a world where physical and digital threats are no longer separate problems, from kernel-level runtime protection on embedded devices to cloud-native platforms that analyze, protect, and prove compliance across entire device fleets. We're not patching the old model. We're building security from the core out.
About the role:
We’re looking for an experienced software engineer with strong technical foundations, sound architectural judgment, and a desire to develop deeper expertise in Linux systems programming and security.
You should already be comfortable building and debugging software, understanding how components interact, and reasoning about design trade-offs. We expect solid foundations in operating systems and computer architecture, together with a basic understanding of the Linux kernel.
You’ll join the team developing Exein’s Linux runtime security agent, working on software that observes system behaviour and helps detect and prevent threats.
Previous experience with Rust, eBPF, or Linux kernel development is preferred, but not required. We value strong engineering foundations and the motivation to develop expertise in these areas.
This role is also open to experienced developers from other software engineering domains who want to move into systems programming.
What you’ll do
- Design, implement, and test components of our Linux runtime security agent.
- Investigate how applications interact with the operating system and use that understanding to improve security monitoring and protection.
- Debug issues across software components, identify root causes, and develop reliable solutions.
- Contribute to architectural discussions, weighing correctness, performance, resource usage, and maintainability.
- Review code, document technical decisions, and share knowledge with the team.
- Gradually take ownership of technical areas as you develop familiarity with the product and its underlying technologies.
What you’ll bring
- Established software engineering experience. You have built and maintained software, worked with existing codebases, and taken responsibility for implementing and debugging meaningful functionality.
- Strong programming skills. You are proficient in at least one programming language and can explain how your code works and why you structured it that way.
- Solid technical foundations. You understand operating system and computer architecture concepts such as processes, threads, memory management, concurrency, and the interaction between software and hardware.
- Some familiarity with the Linux kernel. You understand its role, the distinction between user space and kernel space, and how applications access operating system services. Experience developing kernel code is optional.
- Architectural reasoning. You can understand component boundaries, dependencies, and data flows, and discuss the trade-offs behind a design.
- A methodical approach to unfamiliar problems. You can investigate an issue, test assumptions, read documentation and source code, and ask focused questions.
- Motivation to deepen your expertise. You want to invest in learning systems programming and are comfortable incorporating feedback into your work.
- Clear communication and collaboration. You can explain your reasoning, discuss alternatives, and work constructively through code reviews.
Preferred experience
Any of the following would help you get started:
- Development in Rust, C, or C++.
- Work with eBPF, Linux kernel internals, or system tracing and debugging.
- Development of systems software, embedded software, or security tools.
These are advantages, not prerequisites. You do not need experience in all of them to apply.
How you’ll develop your expertise
You’ll build on your existing engineering experience while working with colleagues who know the product and its technical domain.
Practical development, code reviews, and technical investigations will help you deepen your understanding of Rust, eBPF, Linux internals, and runtime security. Your initial scope will reflect your current strengths and expand as you gain domain expertise.
We expect you to take an active role in that process: explore unfamiliar code, ask questions, experiment, and share what you learn.
Why join Exein?
- Work on security problems with a direct connection to real devices and their operation.
- Develop specialist expertise in Linux systems programming.
- Contribute to technical decisions and see your work become part of the product.
Location: Remote (EMEA)
The first interview will be held in English
Exein is committed to creating an inclusive workplace. We evaluate all applications fairly regardless of gender, age, ethnicity, background, or orientation.
Apply for this job
*
indicates a required field