1

Rust Linux Kernel Jobs in Washington (NOW HIRING)

... Linux proficiency: systemd, iptables/nftables, TUN/TAP interfaces, kernel tuning - you live in the ... Rust experience for performance-critical components Security Clearance Requirement: An active Top ...

Senior Software Engineer

Washington, DC · On-site +1

$138K - $182K/yr

Experience with kernel software development in Windows, Linux, or Mac * Strong software engineering ... Python * Rust * Redis * Postgresql * RabbitMQ * Elastic Search * GitHub * GitLab CI * Kafka

next page

Showing results 1-20

Rust Linux Kernel information

What are Rust Linux Kernel developers?

Rust Linux Kernel developers are software engineers who contribute to the Linux kernel using the Rust programming language. They focus on writing new kernel modules or components in Rust, aiming to improve safety, security, and maintainability compared to traditional C code. These developers typically have a deep understanding of both systems programming and the Linux kernel architecture. Their work is part of an ongoing effort to gradually integrate Rust into the kernel alongside existing C code.

What are the key skills and qualifications needed to thrive as a Rust Linux Kernel Developer, and why are they important?

To thrive as a Rust Linux Kernel Developer, you need deep knowledge of systems programming, strong proficiency in Rust and C, and experience with Linux kernel internals. Familiarity with build systems (e.g., Make), version control (Git), and relevant certifications such as Linux Foundation Certified Engineer are typically valuable. Excellent problem-solving skills, attention to detail, and effective collaboration are essential soft skills in this role. These abilities ensure robust, secure, and maintainable kernel contributions while facilitating smooth teamwork in complex open-source environments.

What is the difference between Rust Linux Kernel vs C Linux Kernel Developer?

AspectRust Linux KernelC Linux Kernel Developer
Required CredentialsKnowledge of Rust programming, Linux kernel basicsProficiency in C, Linux kernel development experience
Work EnvironmentContributing to Linux kernel modules using Rust, Linux environmentDeveloping and maintaining Linux kernel code in C
Industry UsageEmerging in kernel development, experimental projectsStandard in Linux kernel development
Common Search/ComparisonOften compared for language choice in kernel modulesTraditional role, baseline for kernel development

The main difference between a Rust Linux Kernel developer and a C Linux Kernel Developer lies in the programming language used. Rust developers focus on leveraging Rust's safety features for kernel modules, while C developers work with the traditional C language. Both roles require Linux kernel knowledge, but Rust is newer and less widespread in kernel development, making it an emerging area compared to the well-established C role.

What are some common challenges faced when working on Rust integration within the Linux kernel, and how do teams typically address them?

A frequent challenge in this role is bridging the gap between Rust and the existing C-based Linux kernel codebase. This includes ensuring memory safety, managing interoperability between the two languages, and adhering to strict kernel coding standards. Teams often address these challenges through extensive code reviews, collaborative discussions on kernel mailing lists, and by actively participating in the upstream kernel and Rust-for-Linux communities. Continuous learning and communication are essential, as both the Rust integration and kernel development methodologies are rapidly evolving.
Network Software Engineer

Full-time

Medical, Dental, Vision, Life, Retirement, PTO

Posted 9 days ago


Johns Hopkins Applied Physics Laboratory rating

9.9

Company rating: 9.9 out of 10

Based on 5 frontline employees who took The Breakroom Quiz

1st of 58 rated research


Job description

Description
Do you love to develop creative and impactful communications and networked systems solutions for the nation's most critical challenges?
Are you searching for meaningful work in software engineering?
If so, we're looking for someone like you to join our team at APL!
We are seeking an experienced Network Software Engineer to help us solve the nation's security challenges. As a member of our team, you will be responsible for the design, development, integration, and test of communications and network software, including protocol implementation, network services, and distributed systems for the Government across numerous departments and agencies. Our solutions need to be able to operate in a timely and reliable manner in degraded or contested environments, ranging from integration or adoption of existing solutions to first-of-their-kind capabilities. Ultimately, you will join a team whose goal is to build meaningful capabilities to enable the availability of information to decision makers and warfighters under challenging conditions.
You will be joining a hardworking team of engineers and scientists who are passionate about building creative and novel communication systems. Our team is committed to national security. We strive to cultivate an environment that promotes professional growth and a balanced life. We value the exchange of different thoughts and ideas.
As a Network Software Engineer, your primary responsibilities will be to:
  • Provide technical contributions and leadership in the development of software systems as part of critical communications systems for the Government.
  • Provide thought leadership in the areas of communications systems and application software development by teaming with colleagues to propose creative approaches and new concepts to address hard problems.
  • Architect, develop, integrate, and test software-based command and control, secure communication, and networking systems in operationally-realistic environments, working closely with sponsors to ensure mission success.
  • Interact with technical specialists in other fields as part of a multidisciplinary team.
  • Detail work in technical reports and memoranda and present work to sponsors and the technical community.

The ideal candidate combines strong software engineering fundamentals and experience with networking concepts to understand performance tradeoffs of networked systems and systems of systems.
Qualifications
You meet our minimum qualifications for the job if you have...
  • A Bachelor's degree (or higher) in Computer Science, Computer Engineering, or another related, technical discipline.
  • At least ten years of relevant experience in the development of software systems, ideally in a Linux environment.
  • A strong understanding of networking fundamentals (e.g., TCP/IP, UDP, routing, switching, DNS, HTTP/HTTPS).
  • Demonstrated skill with software development following current software engineering best practices using several of the following languages: C, C++, Python, Rust, and BASH scripting.
  • Experience devising approaches and using tools to debug networked systems (e.g., tcpdump, Wireshark, netstat, ss).
  • Excellent interpersonal skills, work independently, and work in a multi-organizational team.
  • Willingness and ability to travel on an as needed basis.
  • An active Top Secret security clearance and can ultimately obtain a TS/SCI level clearance. If selected, you will be subject to a government security clearance investigation and must meet the requirements for access to classified information. Eligibility requirements include U.S. citizenship.

You'll go above and beyond our minimum requirements if you have...
  • A Master's degree or PhD in Computer Science, Computer Engineering, or another related, technical discipline.
  • At least twenty years of relevant experience in the development of software systems.
  • Experience leading software projects and managing teams of engineers.
  • Exposure to US Government and military communication systems and network technologies, voice and video streaming, or conferencing software.
  • Experience implementing or adapting network protocols (application, transport, routing, or custom protocols).
  • Deep knowledge of Linux networking internals (kernel stack, netfilter, eBPF, XDP).
  • Experience developing and troubleshooting real-time, low-latency, or high-bandwidth systems.
  • Experience with container networking and orchestration (Kubernetes, CNI plugins, service meshes).
  • Familiarity with software-defined networking (SDN) and network function virtualization (NFV).
  • Experience and passion for DevOps practices, processes, and tools.
  • Experience applying software expertise to full project lifecycles, including requirements analysis, design, implementation, and testing.
  • An active Top Secret security clearance with SSBI and have recently been adjudicated for access to Sensitive Compartmented Information.

About Us
Why Work at APL?
The Johns Hopkins University Applied Physics Laboratory (APL) brings world-class expertise to our nation's most critical defense, security, space and science challenges. While we are dedicated to solving complex challenges and pioneering new technologies, what makes us truly outstanding is our culture. We offer a vibrant, welcoming atmosphere where you can bring your authentic self to work, continue to grow, and build strong connections with inspiring teammates.
At APL, we celebrate our differences of perspectives and encourage creativity and bold, new ideas. Our employees enjoy generous benefits, including a robust education assistance program, unparalleled retirement contributions, and a healthy work/life balance. APL's campus is located in the Baltimore-Washington metro area. Learn more about our career opportunities at https://www.jhuapl.edu/careers.
All qualified applicants will receive consideration for employment without regard to race, creed, color, religion, sex, gender identity or expression, sexual orientation, national origin, age, physical or mental disability, genetic information, veteran status, occupation, marital or familial status, political opinion, personal appearance, or any other characteristic protected by applicable law. APL is committed to providing reasonable accommodation to individuals of all abilities, including those with disabilities. If you require a reasonable accommodation to participate in any part of the hiring process, please contact Accessibility@jhuapl.edu.
The referenced pay range is based on JHU APL's good faith belief at the time of posting. Actual compensation may vary based on factors such as geographic location, work experience, market conditions, education/training and skill level with consideration for internal parity. For salaried employees scheduled to work less than 40 hours per week, annual salary will be prorated based on the number of hours worked. APL may offer bonuses or other forms of compensation per internal policy and/or contractual designation. Additional compensation may be provided in the form of a sign-on bonus, relocation benefits, locality allowance or discretionary payments for exceptional performance. APL provides eligible staff with a comprehensive benefits package including retirement plans, paid time off, medical, dental, vision, life insurance, short-term disability, long-term disability, flexible spending accounts, education assistance, and training and development. Applications are accepted on a rolling basis.
Minimum Rate
$100,000 Annually
Maximum Rate
$245,000 Annually

What Johns Hopkins Applied Physics Laboratory employees say

Pay

Hours and flexibility

Workplace

Get the full story on Breakroom