Senior Software Developer (C/Python)
Summary
Develops Linux system tools and client-side applications in C and Python for secure Hardware Security Modules (HSMs), focusing on SELinux, networking, and container security.
Job title: Senior Software Developer (C/Python Systems)
Location: Cambridge (Hybrid, 3 days onsite)
Job type: Permanent, full-time
About the Position:
You will join a team working on Linux system tools requiring Python development experience for scripting along with C coding experience.
We’re using locked-down SELinux embedded in our Hardware Security Modules (HSMs), tackling the network stacks, security rules, container interplay, & other challenges. We’re also working on the tools to interact with and control HSMs, and their secure (signed) upgrade process.
The SELinux applications involve many large interacting processes and containers. As to scale, the HSM hardware provides a multi-core fast processor, 8GB RAM, and multiple SSD partitions.
Responsibilities:
- Play a significant role in the design and development of our full system with embedded HSMs, client-side tools & API libraries.
- Develop features from inception to delivery.
- Software design & coding, testing, and review.
Required Qualifications:
- Degree or equivalent, in Software Engineering, Computer Science, Maths or relevant discipline.
- Scripting in Python, in an embedded context (DevOps or C programming experience will be useful). Managing process and container privileges and security.
- Understanding of Linux Security rules and Network Stacks. Familiar with Linux Kernel.
- Familiar with complex, multi-component projects, using multiple development languages.
- Ability to solve complex technical problems with demanding requirements, in innovative, practical ways.
Bonus Qualifications:
- Knowledge of Windows development.
- Knowledge of secure-boot technologies and digital signatures.
- Familiarity with full-stack from device drivers, to client-side tools & API libraries. (Some knowledge of hardware protocols.)
- Open-source software development - as licensee, or as contributor.
- A broad interest in cryptography and/or computer security techniques.
- Agile and/or Scaled Agile Framework (SAFe).