Remote job
Senior Software Engineer, Kernel Memory Management
Job details
About this role
Role overview Assess whether proposed hardware memory-management features can be supported by Linux, and explain the engineering and maintenance costs before designs are finalized. You will model ideas in software, trace their effects through the operating-system and application stack, and work directly with hardware architects to shape or reject proposals.
Responsibilities - Evaluate how hardware concepts affect Linux memory management, including the scale of kernel changes and prospects for upstream support. - Build or extend functional models in QEMU or similar environments, then run real software against them. - Trace implications across the kernel, libc, language runtimes, and application assumptions. - Document feasibility, trade-offs, and long-term costs in a form useful to hardware designers. - Advise whether changes belong upstream or should remain locally maintained, and challenge proposals early when needed.
Requirements - Deep Linux kernel experience, especially page tables, TLBs, page faults, and the VMA layer. - Ability to assess kernel and userspace impact, including whether changes are maintainable and suitable for upstreaming. - Experience building functional models or otherwise testing software-facing hardware concepts. - Clear technical communication with hardware specialists, including the ability to explain constraints and support a firm recommendation. - Breadth across adjacent engineering areas and willingness to work across team boundaries.
Benefits and work setup - Remote within the United States, with several hours of daily overlap with Pacific time. - During the first year, remote staff are expected to spend about one week each month on site; travel and standard accommodation are covered. Relocation support may be available. - Paid time off, health plan coverage, and retirement benefits are expected to be available. Potential equity may be discussed during hiring negotiations. - The initial assignment is to model an uncertain hardware proposal and establish its kernel cost within the first 90 days.