What you will do: * 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 * Upstream patches where appropriate, and track relevant upstream kernel changes and CVEs * 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 What you bring to this role: * 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 Bonus points for the following: *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 This is a full time, exempt position, based out of our Saratoga office. We're looking for a Linux Kernel Developer who's comfortable working deep in the stack — from drivers and subsystems to boot and memory management — and who wants to own kernel-level quality as our products scale.