1

Embedded Linux Software Engineer Jobs in Minnesota

Linux Software Engineer

Saint Paul, MN · On-site

$44.51 - $49.51/hr

Design, implement and test software for embedded, enterprise, or desktop products medical device ... Lack of Linux OS experience; cloud-only DevOps backgrounds with no on-prem OS exposure. Security ...

Be Seen First

Senior Embedded Software Engineer

North Mankato, MN · On-site

$120.20K - $157.50K/yr

... embedded Linux platforms. You will play a critical role in architecting and delivering robust ... embedded software, working closely with hardware, FPGA, DSP, and systems engineers. While ...

Demonstrated competency with embedded software development environment and tools for Embedded Linux ... discipline engineering teams (software, embedded software, hardware, power systems, systems ...

Software Engineer Contract Duration: 1 year, possible extension Contract Type: W2 Location: Little ... and embedded software algorithms or/and general Linux applications and GUIs. These algorithms ...

Software Engineer- St. Paul, MN Location : St. Paul, MN 55117 Project Duration : 12+ months Payrate ... and embedded software algorithms or/and general Linux applications and GUIs. These algorithms ...

Sr Embedded Engineer

Golden Valley, MN · Hybrid

$129.40K - $169.60K/yr

... engineering samples to mass production. You will help maintain firmware servers and develop tools ... Linux. * Solid understanding of embedded software, embedded hardware, firmware debugging (JTAG ...

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 May 31, 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 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 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 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 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:
Infographic showing various Embedded Linux Software Engineer job openings in Minnesota as of May 2026, with employment types broken down into 84% Full Time, 7% Part Time, 5% Temporary, 2% Contract, and 2% Nights. Highlights an 40% Physical, 18% Hybrid, and 42% Remote job distribution, with an average salary of $132,101 per year, or $63.5 per hour.
Linux Software Engineer

Linux Software Engineer

VIVA USA INC

Saint Paul, MN • On-site

$44.51 - $49.51/hr

Contractor

Posted 23 days ago


Job description

Job Description
Summary:
This position is for the Computer Systems Engineering team. Will develop and perform automated OTA software delivery and patch deployment for the Linux platform. The person filling this position will participate in patch assessment, testing, and packaging, with a primary focus on actual deployment to devices in the field. Additional activities include coding, integrating, implementing, installing or changing frameworks and standard components, or technical and functional application management. The position will also assist with development and maintenance of software infrastructure, tools, and processes.
Duties and responsibilities -
Develop and perform automated software delivery and patch deployment for the Linux platform.
Participate in patch assessment, testing, and packaging, with a primary focus on actual deployment to devices in the field. Design, implement and test software for embedded, enterprise, or desktop products medical device products.
Evaluate technical options and provide recommendations for solutions.
Contribute to the development and maintenance of software infrastructure, tools, and processes.
Collaborate with product management, customer care, quality, regulatory, production, and other engineering disciplines to deliver upon product delivery objectives and business goals.
Role Context
Reason role is open: Increase team capacity due to growing workload and expansion into OTA (over-the-air) software delivery.
Projects supported: Linux-based medical diagnostic workstation supporting electrophysiology systems.
Key initiatives: Creating installers and images for software releases delivered via CD/DVD/USB and OTA.
Typical day: Onsite work, daily 30-minute standup, building and validating installers/images, collaboration with R&D and testing teams.
Interactions: Internal technical team members, software developers, and test teams.
Success in first 90 days: Ability to independently package software from CI builds into reliable installers/images on Linux.
Previous hiring experience: Similar roles filled successfully when focus remained on Linux and software delivery skills.
Top 3 required skills:
Strong Linux OS internals
Software delivery / installer creation
Linux scripting and automation
Top 3 preferred skills:
OTA update experience
CMake / C++ familiarity
Networking and security concepts (whitelisting, certificates, encryption)
Education: Bachelor's degree in Computer Science, Computer Engineering, or related field preferred; equivalent experience acceptable.
Industry experience: Medical/pharma experience not required; strong technical background preferred.
Systems used daily: Linux workstations (RHEL 8/9, future 10), CI pipelines, installer frameworks, Insight platform environment.
Personality traits: Curious, self-driven, strong critical thinking, ability to learn and work independently within a team.
Urgency: High - team would like candidates submitted and hired as quickly as possible.
Deal-breakers: Lack of Linux OS experience; cloud-only DevOps backgrounds with no on-prem OS exposure.
Security expectations: Applied security (whitelisting, certificates, encryption), not deep CVE analysis.
Team culture: Highly collaborative but expects individual ownership and accountability; mix of senior architects and junior engineers.
Required Qualifications:
Experience with delivering software using CD/DVD/USB to disconnected systems.
Linux operating system internals
Experience in Linux shell scripts, Perl and/or python.
Working knowledge of Linux development environment.
Self-motivated, critical thinker with strong technical background.
Excellent verbal and written communication skills.
Experience with Word, Visio, and similar documentation tools.
Strong analytical and problem solving skills.
Organized and on-time with ability to work in a structured process environment.
Preferred Qualifications:
Experience with Over the client upgrade platforms or delivery methods.
Cmake/C++ programming language experience.
Operating System and Network security.
Experience with Linux encryption, whitelisting, malware scanning and vulnerability assessment.
Experience with impact assessment of software patches and upgrades.
Bachelor's degree in computer engineering or related field. Will consider experienced candidates with relevant experience in lieu of degree.
Notes:
100% onsite
Typically 8-4 or 9-5 (standard business hours).
Hours: 8 hours/day, 40 hours/week
VIVA is an equal opportunity employer. All qualified applicants have an equal opportunity for placement, and all employees have an equal opportunity to develop on the job. This means that VIVA will not discriminate against any employee or qualified applicant on the basis of race, color, religion, sex, sexual orientation, gender identity, national origin, disability or protected veteran status.