1

Linux Kernel Developer Jobs in Michigan (NOW HIRING)

Software Engineer, On Device

Ann Arbor, MI · On-site +1

$120K - $150K/yr

Ideal candidates will possess knowledge of Python, Linux, continuous integration and deployment (CI ... boot, os kernel libraries, device drivers, os processes/daemons * Data compression and schema ...

next page

Showing results 1-20

Linux Kernel Developer information

See Michigan salary details

$88K

$129.9K

$153.4K

How much do linux kernel developer jobs pay per year?

As of Jul 21, 2026, the average yearly pay for linux kernel developer in Michigan is $129,922.00, according to ZipRecruiter salary data. Most workers in this role earn between $119,000.00 and $143,800.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.

What are the most commonly searched types of Linux Kernel Developer jobs in Michigan? The most popular types of Linux Kernel Developer jobs in Michigan are:
What job categories do people searching Linux Kernel Developer jobs in Michigan look for? The top searched job categories for Linux Kernel Developer jobs in Michigan are:
What cities in Michigan are hiring for Linux Kernel Developer jobs? Cities in Michigan with the most Linux Kernel Developer job openings:
What are popular job titles related to Linux Kernel Developer jobs in MI? For Linux Kernel Developer jobs in MI, the most frequently searched job titles are:
Infographic showing various Linux Kernel Developer job openings in Michigan as of July 2026, with employment types broken down into 81% Full Time, 7% Part Time, 1% Temporary, and 11% Contract. Highlights an 83% Physical, 4% Hybrid, and 13% Remote job distribution, with an average salary of $129,922 per year, or $62.5 per hour.
Software Engineer, On Device

Software Engineer, On Device

Utilidata

Ann Arbor, MI • On-site, Remote

$120K - $150K/yr

Full-time

Medical, Dental, Vision, Retirement, PTO

Re-posted 26 days ago


Job description

Utilidata is a fast-growing NVIDIA-backed AI company enabling AI data centers to dynamically orchestrate power and unlock more compute capacity from existing energy infrastructure. For over a decade, we have applied AI to the electric grid - bringing real-time visibility and power-flow control to complex energy infrastructure. Our Karman platform, built on a custom NVIDIA module, brings that same capability to AI data centers, giving operators a way to better use the power already available to them.
We are expanding our engineering team and looking for a Software Engineer to support the productionalization of our IoT platform, with a primary emphasis on the software that runs on edge IoT devices. This edge software includes machine learning, optimization algorithms, and components that host these capabilities that must meet high standards of performance, security, reliability, and accuracy. We are looking for candidates who are mission-driven, collaborative, adaptive and experienced in designing, writing, testing, and debugging distributed enterprise software at scale. Ideal candidates will possess knowledge of Python, Linux, continuous integration and deployment (CI/CD), with direct experience designing and developing successful enterprise software.
Responsibilities
  • Design, propose, plan, implement, and test resource-constrained, edge software in Python (and possibly lower-level languages, e.g., Rust) including the implementation of precision telemetry collection, real-time control interfaces, and robust system observability
  • Create and maintain CI/CD processes as necessary to support development and deployment with a focus on reproducibility, regression testing for embedded systems, and deployment in real-world, intermittently connected environments
  • Contribute to internal and external technical documentation
  • Collaborate with a cross-functional team of software, hardware, quality assurance (QA), and power systems engineers; data scientists; and leadership
  • Provide high-quality, in-depth code and architecture reviews, implement new features, and provide technical leadership while coordinating with project management, QA, and other internal teams
  • Continually advocate for and implement process improvement and automation
  • Foster a culture of open communication, innovation, and continual improvement
  • Mentor other engineers using paired programming, code review, and collaborative test scenario design
Minimum Qualifications
  • 5+ years of professional experience including 3+ years of experience developing production software and systems, or a combination of educational and professional experience commensurate with this level of experience
  • Demonstrated ability to design and implement distributed systems utilizing microservices in a resource-constrained environment (edge devices with limited memory, CPUs, GPU capacity, etc.)
  • Extensive experience using Python, C/C++, Rust, and the Linux operating system
  • Experience with device layered security, i.e. encryption (PKI) , disk partitioning, secure boot, os kernel libraries, device drivers, os processes/daemons
  • Data compression and schema management for device time series data
  • Experience implementing and maintaining CI/CD workflows (e.g., GitHub Actions or Jenkins)
  • Strong understanding of synchronous and asynchronous network communication, including REST APIs, gRPC, binary protocols, and distributed publish/subscribe messaging systems and protocols like MQTT and ZeroMQ
  • Strong written and oral communication skills, with a proven track record of working effectively both individually and as part of a team
Enhanced Qualifications (Nice to Have)
  • Experience designing, building and deploying applications and reusable libraries based on the NVIDIA ML software stack on the Jetson Platform
  • Experience with system integration testing including HIL and SIL
  • Understanding of SQL/NoSQL Database implementations (SQLite, Redis, Postgres, etc)
  • Well-versed in Docker/containerization
  • Hands-on knowledge of cloud platforms and services focused on IoT device management, security and OTA updates (AWS, Azure) preferably in the scale of million devices including managing release/versioning strategies and monitoring fleet-wide performance metrics
  • Experience with control systems applications (e.g. industrial processes, manufacturing, commercial buildings, SCADA) and/or power systems
  • Experience working with software and systems deployed in modern data center environments, including telemetry ingestion, rack-level integration, and coordination with orchestration platforms
  • Experience with Shell scripting, helm charts, ansible, and prometheus tools
Salary Range: $120,000 to $150,000 base compensation depending on experience and stock options. Salary will be commensurate with an individual's skills, training, years of experience, and in line with internal compensation bands.
Location: This position is based onsite at our company headquarters in Ann Arbor, Michigan, with flexibility for occasional remote work.
Our Commitments:
Utilidata values the diversity of our team. We provide equal employment opportunities without regard to race, color, religion, creed, sex, gender, sexual orientation, gender identity or expression, national origin, age, physical disability, mental disability, medical condition, pregnancy or childbirth, sexual orientation, genetics, genetic information, marital status, or status as a covered veteran or any other basis protected by applicable federal, state and local laws.
We are committed to:
  • Creating a diverse and inclusive workplace that is welcoming, supportive, affirming and respectful
  • Empowering employees to solve problems and work together to make a difference
  • Providing mentorship and growth opportunities as part of a collaborative team
  • A flexible work environment with flexible paid time off
  • Competitive compensation and benefits, including health, dental, vision, and employer-match 401k