Linux Kernel Developer (Mid-to-Senior Level)
About the role
E-Space is bridging Earth and space to enable hyper-scaled deployments of Internet of Things (IoT) solutions and services. We are building a highly-advanced low Earth orbit (LEO) space system that will fundamentally change the design, economics, manufacturing, and service delivery associated with traditional satellite and terrestrial IoT systems.
Responsibilities
- Design, develop, and maintain Linux kernel code, including drivers, subsystems, and kernel modules
- Port, configure, and optimize the Linux kernel for custom hardware platforms
- Write and maintain device drivers for a range of interfaces (e.g., I2C, SPI, UART, USB, PCIe, Ethernet)
- Debug and resolve kernel panics, race conditions, memory issues, and other low-level system failures
- Profile and optimize kernel and driver performance, including boot time, latency, and power consumption
- Work with bootloaders (e.g., U-Boot) and board bring-up for new hardware revisions
- Collaborate with hardware engineers during board bring-up and hardware/software integration
- Contribute to kernel configuration, build systems (e.g., Yocto, Buildroot), and CI integration
- Document kernel architecture decisions, driver interfaces, and debugging procedures in a way that's practical and reusable
Requirements
5+ years of experience developing in C, with deep familiarity with Linux kernel internals
Proven experience writing and debugging Linux device drivers and kernel modules
Solid understanding of: Kernel subsystems (memory management, scheduling, filesystems, networking)
Linux boot process and bootloaders
Concurrency, locking, and interrupt handling in kernel space
Experience with embedded Linux build systems (Yocto, Buildroot, or similar)
Comfort working directly with hardware during bring-up, debugging with tools like JTAG, oscilloscopes, or logic analyzers
Strong debugging skills using tools such as gdb, ftrace, perf, kgdb, or crash dump analysis
Comfortable working independently and taking ownership in a lean startup environment
Qualifications
- Upstream Linux kernel contribution experience
- Experience with real-time Linux (PREEMPT_RT) or other real-time operating systems
- Familiarity with security-hardening practices for embedded Linux (secure boot, kernel hardening)
- Experience with version control systems (Git) and kernel patch workflows (mailing lists, git send-email)
- Exposure to multiple CPU architectures (ARM, RISC-V, x86)
- Experience with CI/CD pipelines for embedded or system-level software
Skills
- Deep knowledge of Linux kernel internals
- Proven experience writing and debugging Linux device drivers and kernel modules
- Understanding of kernel subsystems (memory management, scheduling, filesystems, networking)
- Experience with embedded Linux build systems (Yocto, Buildroot, or similar)
- Comfort working directly with hardware during bring-up, debugging with tools like JTAG, oscilloscopes, or logic analyzers
- Strong debugging skills using tools such as gdb, ftrace, perf, kgdb, or crash dump analysis
- Experience with version control systems (Git) and kernel patch workflows (mailing lists, git send-email)
- Exposure to multiple CPU architectures (ARM, RISC-V, x86)
- Experience with CI/CD pipelines for embedded or system-level software
Benefits
Competitive salaries
Continuous learning and development
Health and wellness care options
Financial solutions for the future
Optional legal services (US only)
Paid holidays
Paid time off
Pay
$150,000 - $225,000 a year
Schedule
This is a full time, exempt position, based out of our Saratoga office.