Full Job Description
Senior Software Developer (Linux)
Work at the forefront of cybersecurity research and development, delivering capabilities to protect national security. Our projects cover the spectrum of security technologies, hardware architectures, and operating systems; if it runs code, we're interested in its security. We see the impact we have on our nation's security each day. We ensure our engineers have the tools they need to excel and we recognize superb results.
We're seeking a candidate to develop software for our commercial product team-securing systems at the lowest levels. Potential candidates should be talented, motivated, and forward-thinking individuals who enjoy systems-level security engineering.
Security Clearance:
Qualified applicants may be subject to a security investigation and must meet minimum qualifications for access to classified information. U.S. Citizenship is required. Qualified applicants must meet the requirements to obtain and maintain a Secret government security clearance.
Required Skills Include:
- Experience with C/C++ development
- Experience with bash scripting
- Knowledge of OS internals (Linux)
- Experience with System and application debugging
- Familiarity with assembly (x86, x86_64) and function calling conventions
- Experience leading and delivering software products to commercial and/or government customers
- Experience with Kernel/Driver development
- Build systems (Make, CMake, etc.)
- Concurrency and parallelism concepts
The product team works with a large array of technologies, tools, and concepts, so other valuable skills and experience include:
- Building/configuring Linux kernels, Redhat systems, Yocto, etc.
- Linux Kernel/Driver development
- TPM and Secure Boot technologies
- Security Concepts
- Reading and interacting with assembly languages other than x86, x86_64 (ARM, etc.)
- DOD System Security Engineering and standards (RMF, Cyber Resiliency, Anti-Tamper, etc.)
- Familiarity with internals of other Operating Systems (especially Windows or real-time operating systems (RTOS))
- Virtualization concepts and technologies (QEMU, KVM, VMWare, VirtualBox, etc.)
- Container and container management concepts and technologies (Docker, Podman, Kubernetes, etc.)
- Cryptography and the implementation of cryptographic algorithms
Our ideal candidate is someone with great technical and problem-solving skills, a motivated personality, and a high degree of creativity!
Our Interviews:
Our interviews are technical. Be prepared to tell us about your technical background and interests as well as to work through some of our questions on a computer or whiteboard. We hope candidates find our questions to be thought provoking, but we don't ask brain teasers or tricks. This is a chance to have a dialog with our team, and we hope you will enjoy it!