1

Embedded Linux Software Engineer Jobs in Minnesota

... and embedded software algorithms or/and general Linux applications and GUIs. These algorithms ... Work closely with cross-function team, including design reviews with QA, RA, test engineers ...

POSITION As a Senior Software Engineer, you will create software that runs on or works with the ... Application development for embedded Linux. * Android and/or Linux Board Support Package experience.

POSITION As a Senior Software Engineer, you will create software that runs on or works with the ... Application development for embedded Linux. * Android and/or Linux Board Support Package experience.

Sr. Software Engineer

Owatonna, MN · On-site

$103K - $135K/yr

POSITION As a Senior Software Engineer, you will create software that runs on or works with the ... Application development for embedded Linux. * Android and/or Linux Board Support Package experience.

Software Engineer, Senior

Saint Paul, MN · On-site

$120K - $150K/yr

What you'll do As a Senior Software Engineer at Forj, you'll do more than write code. In this role ... Significant experience with embedded Linux development on SoMs - particularly with Yocto Project ...

Overview We are seeking a highly skilled Software Engineer with strong proficiency in C++ and ... Experience working in a Linux software development environment. Experience with OpenSSL and ...

next page

Showing results 1-20

Embedded Linux Software Engineer information

See Minnesota salary details

$82.3K

$132.1K

$185.6K

How much do embedded linux software engineer jobs pay per year?

As of Jul 4, 2026, the average yearly pay for embedded linux software engineer in Minnesota is $132,101.00, according to ZipRecruiter salary data. Most workers in this role earn between $106,800.00 and $157,200.00 per year, depending on experience, location, and employer.

What are the key skills and qualifications needed to thrive as an Embedded Linux Software Engineer, and why are they important?

To thrive as an Embedded Linux Software Engineer, you need strong proficiency in C/C++ programming, Linux kernel and device driver development, and a relevant engineering degree. Familiarity with build systems (e.g., Yocto, Buildroot), version control tools like Git, and debugging tools such as GDB are typically required. Analytical thinking, problem-solving, and effective teamwork are essential soft skills that help address complex technical challenges. These skills and qualifications ensure robust, efficient software solutions for embedded systems that meet industry standards and project demands.

What is the difference between Embedded Linux Software Engineer vs Embedded Software Developer?

AspectEmbedded Linux Software EngineerEmbedded Software Developer
CredentialsBachelor's in Computer Engineering, Electrical Engineering, or related fields; knowledge of Linux systemsBachelor's in Computer Science, Electrical Engineering, or related fields; programming skills
Work EnvironmentDeveloping Linux-based embedded systems, often in hardware-focused companiesCreating embedded software across various platforms, including non-Linux systems
Industry UsagePrimarily in IoT, automotive, consumer electronics, and industrial automationBroadly in consumer electronics, medical devices, automotive, and industrial sectors

Embedded Linux Software Engineers specialize in developing software for Linux-based embedded systems, focusing on kernel, driver, and system integration. Embedded Software Developers have a broader scope, working on embedded software across multiple platforms, not limited to Linux. Both roles require strong programming skills and knowledge of embedded systems, but the Linux-specific expertise distinguishes the Embedded Linux Software Engineer.

What are some common challenges faced by Embedded Linux Software Engineers when integrating hardware and software components?

Embedded Linux Software Engineers often encounter challenges related to hardware-software integration, such as ensuring compatibility between custom drivers and board support packages with the Linux kernel. Debugging low-level issues, optimizing performance for limited resources, and achieving real-time responsiveness are also common hurdles. Collaborating closely with hardware engineers is essential to resolve issues quickly and ensure seamless system operation. Being proactive in understanding hardware schematics and using tools like oscilloscopes and logic analyzers can make integration smoother.

What engineer makes $500,000 a year?

Highly experienced senior engineers in specialized fields such as embedded Linux software engineering can earn salaries approaching or exceeding $500,000 annually, especially with bonuses and stock options. These roles typically require advanced skills, certifications, and extensive industry experience in high-demand sectors like aerospace, defense, or large tech companies.

Is embedded Linux in demand?

Embedded Linux software engineers are in high demand due to the widespread use of Linux-based systems in IoT devices, automotive, industrial automation, and consumer electronics. Skills in kernel development, device drivers, and real-time Linux are particularly valuable, and knowledge of tools like Yocto and Buildroot can enhance job prospects.

What does an Embedded Linux Software Engineer do?

An Embedded Linux Software Engineer designs, develops, and maintains software for devices that run on the Linux operating system, typically in environments with limited resources such as IoT devices, automotive systems, or industrial controls. Their work involves configuring Linux kernels, developing device drivers, and optimizing system performance to ensure reliability and responsiveness. They collaborate with hardware engineers, integrate third-party libraries, and often use programming languages like C or C++. The goal is to create stable and efficient software that interacts seamlessly with hardware components.

What is the salary of embedded Linux engineer?

The salary of an embedded Linux engineer typically ranges from $80,000 to $130,000 annually, depending on experience, location, and industry. Senior roles or those requiring specialized skills in real-time operating systems or hardware integration may offer higher compensation.

What does an embedded Linux engineer do?

An embedded Linux engineer designs, develops, and maintains software for embedded systems running Linux. They work with hardware interfaces, device drivers, and real-time operating systems, often using tools like C, C++, and Linux kernel development environments. Their role ensures the reliable operation of devices such as IoT gadgets, industrial equipment, and consumer electronics.
What job categories do people searching Embedded Linux Software Engineer jobs in Minnesota look for? The top searched job categories for Embedded Linux Software Engineer jobs in Minnesota are:
What are popular job titles related to Embedded Linux Software Engineer jobs in MN? For Embedded Linux Software Engineer jobs in MN, the most frequently searched job titles are:
Embedded Software Engineer

$137K - $180K/yr

Full-time

Posted 23 days ago


Job description

Job Description:

Objective of role:

The Embedded Software Engineer is responsible for the design, development, testing, and support of embedded software solutions for both existing and new products, including new hardware bring-up, low-level hardware/software integration, and support of microcontroller-based embedded systems.

Expectations:
This role blends hands-on engineering with cross-functional collaboration, technical problem solving, product lifecycle support and software technical leadership where appropriate. The engineer will contribute to software architecture, product enhancements, and reliability validation while supporting internal teams, customers, and manufacturing operations.
This position requires strong analytical skills, a solid foundation in software engineering principles, and the ability to work independently across most phases of the development cycle. The ideal candidate is comfortable working close to the hardware and can efficiently diagnose and resolve low-level issues involving microcontrollers, memory, interfaces, sensors, and communication devices.
Main Duties and Responsibilities:

Software Design & Development
•    Develop, code, test, and debug new embedded software or enhancements to existing software for third-party customers and internal product lines.
•    Work from specifications with limited guidance to design and modify moderately complex software applications, tools, and utilities.
•    Apply software design theories, engineering principles, and scientific methods to create robust, maintainable embedded solutions.
•    Modify existing software packages to meet unique customer configurations and requirements.
•    Validate successive software versions to ensure proper integration with system hardware.
•    Bring up embedded software on new hardware platforms, including initialization and verification of microcontrollers, memory, clocks, interrupts, communication interfaces and peripheral devices.
•    Develop, integrate and debug low-level drivers and board support software for interfaces such as UART, SPI, I2C, ADC, USB, Ethernet, GPIO, etc.

Engineering Leadership & Departmental Support
•    Provide technical input to project schedules, development estimates, software-related planning activities and team training needs.
•    Coordinate technical activities with cross-functional project teams and communicate software scope, status, risks, and technical issues clearly.
•    Document designs, changes, and engineering analyses thoroughly and professionally.


Testing, Reliability & Verification
•    Determine test and analysis requirements to validate product reliability, performance, and parameter control.
•    Conduct or coordinate tests to evaluate failure limits, environmental susceptibility, component reliability, and overall product safety.
•    Participate in the design of product test equipment or production test systems when needed.
•    Interpret test results and translate findings into actionable engineering decisions.
•    Develop and execute bring-up, integration, and regression test plans for new hardware and firmware.
•    Diagnose issues related to startup behavior, communication failures, timing issues, memory, and interaction between firmware and hardware.

Cross Functional & Customer Support
•    Resolve software-related user complaints and respond to suggestions for improvements or enhancements.
•    Assist in the development of software user manuals and technical documentation.
•    Collaborate with technical staff to diagnose and resolve software issues.

Innovation & Product Development
•    Drive the electrical/software design process from concept through manufacturing release, including:
o    Creative concept development
o    Detailed design
o    Mathematical and scientific verification
o    Prototype build and evaluation
o    Engineering documentation
o    Production transition
•    Work closely with electrical engineering during schematic review, component selection and prototype bring-up to ensure software readiness and efficient debug.
Qualifications:
•    Bachelor’s degree in engineering (Software, Electrical, Computer Engineering, or related discipline required).
•    Minimum of 4 years of relevant experience in embedded software development or related engineering roles.
•    Proficiency in embedded programming languages (e.g., C/C++), version control (Git/Github) and real-time operating environments (FreeRTOS, MQX).
•    Strong understanding of hardware/software integration and system level design.
•    Ability to work independently across design, coding, testing, debugging, implementation, and documentation phases.
•    Excellent analytical, problem-solving, and communication skills.
•    Experience supporting manufacturing, field teams, or customer applications is a plus.
•    Demonstrated experience with new board bring-up, including debug of low-level hardware/software issues on prototype hardware.
•    Ability to read and work from schematics, datasheets, reference manuals and interface documentation.
•    Experience with embedded debug tools such as JTAG debuggers, oscilloscopes, logic analyzers and serial/protocol analysis tools.
•    Experience integrating communication and connectivity technologies such as Bluetooth/BLE, UART, SPI, I2C, USB, or Ethernet.
•    This role requires quarterly travel to our Fairmont, MN facility, with the possibility of additional onsite visits depending on project-specific needs.
 

#LI-Remote

Compensation Information:

salary range

$78,400 - $130,000

ITW is an equal opportunity employer. We value our colleagues’ unique perspectives, experiences and ideas and create workplaces where everyone can develop their careers and perform to their full potential. 


As an equal employment opportunity employer, ITW is committed to equal employment opportunity and fair treatment for employees, beginning with the hiring process and continuing through all aspects of the employment relationship. 


All qualified applicants will receive consideration for employment without regard to race, color, sex, gender identity, sexual orientation, religion, national origin, age, disability, protected Veteran status or any other characteristic protected by applicable federal, state, or local laws.