1

Linux Kernel Developer Jobs in Rochester Hills, MI

Senior Software Engineer

Warren, MI · On-site

$115K - $151K/yr

Candidate will work with engineering teams across the software services and SoC vendors to build ... Solid understanding of Linux Kernel Frameworks (DMA, V4L2, ALSA, UART) * Experience deploying ...

Senior Software Engineer

Warren, MI

$115K - $151K/yr

Candidate will work with engineering teams across the software services and SoC vendors to build ... Solid understanding of Linux Kernel Frameworks (DMA, V4L2, ALSA, UART) * Experience deploying ...

Test Automation Technical Leader - eLxr Linux

Troy, MI · On-site

$43.75 - $57.75/hr

We are expanding our core engineering team and seeking a highly experienced Linux Test Automation ... In-depth Linux knowledge, including kernel concepts and system internals. * Experience contributing ...

... with Linux (SLES prefer) Solid understanding of all aspects Linux OS security -Windows OS ... Experience with complex syslog configuration, syslog filtering and forwarding, and kernel tuning ...

Embedded Software Engineer

Southfield, MI · On-site

$120K - $158K/yr

... embedded Linux (Yocto/Buildroot) targets; contribute to device trees, kernel modules, and HALs ... Bachelor's in Computer, Electrical, or Software Engineering (or equivalent practical experience ...

next page

Showing results 1-20

Linux Kernel Developer information

See Rochester Hills, MI salary details

$93K

$137.2K

$162K

How much do linux kernel developer jobs pay per year?

As of Jul 21, 2026, the average yearly pay for linux kernel developer in Rochester Hills, MI is $137,204.00, according to ZipRecruiter salary data. Most workers in this role earn between $125,600.00 and $151,900.00 per year, depending on experience, location, and employer.

What are some common challenges Linux Kernel Developers face when integrating new features or patches?

Linux Kernel Developers often encounter challenges such as ensuring compatibility with a wide range of hardware architectures and maintaining stability across diverse distributions. Integrating new features or patches requires rigorous code review, thorough testing, and clear communication with the broader open-source community. Developers must also keep up with the kernel's fast-paced development cycles and adhere to strict coding standards, which can be demanding but offers significant opportunities for learning and professional growth.

What Does a Linux Kernel Developer Do?

A Linux kernel developer uses computer code to create a program that functions as the core of a computer operating system. Your duties can include creating kernels for open-source operating systems for desktop computers, laptops, phones, and tablets. You can also develop programs for embedded systems for routers, smart devices, or automated machinery. Linux uses C programming languages, so you often write code in C and C++. In addition to your coding responsibilities, you also test and debug your programs. Your employer may ask you to develop applications, drivers, and other tools to use with your kernel.

What does a Linux Kernel Developer do?

A Linux Kernel Developer is responsible for designing, developing, and maintaining the core part of the Linux operating system known as the kernel. Their work involves writing and reviewing code, debugging issues, implementing new features, and ensuring the kernel remains efficient and secure. They also collaborate with the open-source community to contribute patches and updates. Linux Kernel Developers play a crucial role in supporting hardware compatibility and system performance across various devices.

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

To thrive as a Linux Kernel Developer, you need deep knowledge of C programming, operating system concepts, and experience with kernel development, often supported by a degree in computer science or related fields. Familiarity with tools such as Git, GDB, build systems, and patch submission processes, as well as experience contributing to open-source projects, is typically required. Strong problem-solving, attention to detail, and effective communication are critical soft skills for collaborating within the open-source community. These skills ensure high-quality code contributions, efficient troubleshooting, and successful integration with the broader Linux ecosystem.

What is the difference between Linux Kernel Developer vs Linux Device Driver Developer?

AspectLinux Kernel DeveloperLinux Device Driver Developer
Required CredentialsProficiency in C, Linux kernel development experience, often a degree in Computer Science or related fieldSimilar credentials, with focus on device-specific programming and hardware knowledge
Work EnvironmentDeveloping and maintaining core kernel components, often in a Linux environmentWriting and debugging drivers for specific hardware devices within Linux
Employer & Industry UsageTech companies, open-source projects, hardware manufacturersHardware manufacturers, embedded systems, specialized device companies

While both roles require strong C programming skills and Linux knowledge, Linux Kernel Developers focus on core kernel development, whereas Linux Device Driver Developers specialize in creating drivers for hardware components. The roles often overlap but differ in scope and focus within the Linux ecosystem.

Infographic showing various Linux Kernel Developer job openings in Rochester Hills, MI as of July 2026, with employment types broken down into 87% Full Time, 2% Part Time, 1% Temporary, and 10% Contract. Highlights an 80% Physical, 5% Hybrid, and 15% Remote job distribution, with an average salary of $137,204 per year, or $66 per hour.
Embedded Linux Software Engineer

Embedded Linux Software Engineer

OtterBase

Southfield, MI

Other

Posted 10 days ago


Job description

Job Description Description: Embedded Software engineer to develop leading edge technology for network switch platforms and embedded devices. Responsibilities/skills: Design, develop, and maintain embedded Linux software for network switch platforms and embedded devices. Build and customize Linux kernels, boot loaders, root file systems, and bootable software images using Yocto or Buildroot.

Develop low-level drivers and hardware interfaces in C/C++, including register-level programming from IC datasheets. Configure and maintain CMake-based build systems and support CI/CD pipelines for embedded software releases. Collaborate with hardware, FPGA, RF, and systems teams to integrate, optimize, and troubleshoot embedded platforms.

Debug hardware and networking issues using lab equipment and contribute to system architecture for networking, timing, and synchronization. Qualifications: 5+ years of embedded Linux software development experience. Strong experience with C/C++, Linux kernel customization, Yocto and/or Buildroot, and embedded boot loaders (U-Boot or similar).

Experience creating bootable software images and managing embedded Linux build environments. Proficiency with CMake and modern software development workflows, including Git and CI/CD.