1

Senior Embedded Software Engineer Jobs in Durham, NC

Are you an innovative Embedded Software Engineer with expertise in C/C++ and Linux systems? Do you thrive in fast-paced environments where solving complex problems is the norm? Parsons is seeking ...

Showing results 21-40

Senior Embedded Software Engineer information

See Durham, NC salary details

$73K

$139.9K

$187K

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

As of Aug 8, 2026, the average yearly pay for senior embedded software engineer in Durham, NC is $139,895.00, according to ZipRecruiter salary data. Most workers in this role earn between $119,800.00 and $157,000.00 per year, depending on experience, location, and employer.

What is a senior embedded software engineer?

A Senior Embedded Software Engineer is an experienced professional who designs, develops, tests, and maintains software that runs on embedded systems—specialized computing devices that are not traditional computers, such as automotive control systems, medical devices, or consumer electronics. They often work closely with hardware engineers to ensure software integrates seamlessly with hardware components. Senior engineers typically lead projects, mentor junior staff, and contribute to system architecture and design decisions. Their expertise includes programming languages like C or C++, real-time operating systems, and debugging tools specialized for embedded environments.

What is the difference between Senior Embedded Software Engineer vs Embedded Software Engineer?

AspectSenior Embedded Software EngineerEmbedded Software Engineer
Required CredentialsBachelor's/Master's in Computer Engineering, Electrical Engineering, or related field; experience in embedded systemsBachelor's degree in relevant field; entry-level to mid-level experience
Work EnvironmentDesigning, developing, testing embedded systems for hardware productsDeveloping firmware and software for embedded devices, often under supervision
Employer & Industry UsageTech companies, automotive, aerospace, consumer electronicsSimilar industries, often as part of product development teams

The main difference between a Senior Embedded Software Engineer and an Embedded Software Engineer lies in experience and responsibility. Senior engineers typically have more expertise, lead projects, and mentor junior staff, while embedded software engineers focus on developing and testing embedded code. Both roles require similar technical skills and industry knowledge, but senior roles involve greater leadership and strategic input.

What are some common challenges senior embedded software engineers face when integrating software with new hardware platforms?

Senior Embedded Software Engineers often encounter challenges such as ensuring software compatibility with diverse hardware architectures, optimizing for limited memory or processing power, and debugging hardware-software interactions. These engineers must frequently collaborate with hardware teams to resolve timing issues, manage device drivers, and ensure reliable system performance. Successfully navigating these challenges requires strong problem-solving skills, adaptability, and a deep understanding of both hardware constraints and software design.

What are the key skills and qualifications needed to thrive as a senior embedded software engineer?

To thrive as a Senior Embedded Software Engineer, you need deep expertise in embedded C/C++ programming, real-time operating systems (RTOS), and a strong background in computer engineering or a related field. Familiarity with hardware debugging tools (such as oscilloscopes and logic analyzers), version control systems (like Git), and relevant certifications (e.g., ARM Accredited Engineer) is typically required. Exceptional problem-solving, communication, and project leadership skills help you collaborate effectively and mentor junior engineers. These competencies ensure the creation of robust, efficient, and reliable embedded systems critical for product success.
What are the most commonly searched types of Embedded Software Engineer jobs in Durham, NC? The most popular types of Embedded Software Engineer jobs in Durham, NC are:
What cities near Durham, NC are hiring for Senior Embedded Software Engineer jobs? Cities near Durham, NC with the most Senior Embedded Software Engineer job openings:

Senior Firmware Engineer - Embedded Linux

Garmin International, Inc.

Cary, NC • On-site

$121K - $161K/yr

Full-time

Re-posted 4 days ago


Garmin rating

8.8

Company rating: 8.8 out of 10

Based on 45 frontline employees who took The Breakroom Quiz

14th of 156 rated electronics manufacturers


Job description

Overview
We are seeking a full-time Senior Embedded Linux Engineer for our Outdoor team at Garmin's U.S. headquarters in the Greater Kansas City area or at our Cary, NC location. In this role, you will be responsible for developing low-level embedded software for various Garmin Consumer Outdoor products. You will be developing C/C++ software that interacts with hardware including initial board bring-up, boot strapping the operating system, developing and integrating device drivers and power/thermal management.
In this role, you will be responsible for providing technical leadership and project planning for software development for products, applications, or systems new to Garmin as an individual contributor.
Essential Functions
  • Serves in a leadership capacity as an individual contributor for carrying out software development in C, C++, Assembly language or other selected languages for new products and/or applications
  • Works with wireless networking technologies, including ANT, Bluetooth/BLE and Wi-Fi, to allow communication with other outdoor products
  • May serve as a Lead Software Engineer for complex software development project designs and/or reviews architected modules and software systems supporting new technology or improving capability/performance of existing functionality
  • Decomposes functional requirements into well-defined tasks
  • Researches fundamental problems and implements algorithm solutions that are appropriate
  • Offers peer technical assessments in areas of expertise, new technologies and software designs
  • Assists design engineering as needed with component datasheet review and schematic design review
  • Participates in project leadership and/or program planning including providing technical input to product development plans and concept documents
  • Makes substantial contributions toward determination of project goal/objective feasibility and applies good judgment in setting schedules/risk taking
  • Mentors and provides guidance to less experienced Software Engineers (1 & 2)
  • Contributes to advanced technical research on new technologies
  • Offers process improvement suggestions and authors new procedures as appropriate
  • Provides reliable solutions to a wide range of difficult problems using sound problem solving techniques

Basic Qualifications
  • Bachelor's Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Math, Physics or related field AND a minimum of 5 years relevant experience OR an equivalent combination of education and experience
  • Excellent academics (cumulative GPA greater than or equal to 3.0 as a general rule)
  • Demonstrated proficiency with designing well architectured software systems and modules that support new technology or improve capability/performance of existing functionality
  • Demonstrated competence with researching fundamental problems and implementing appropriate algorithmic solutions
  • Demonstrated ability to serve as a lead software engineer for a complex software project
  • Ability to decompose functional requirements into well-defined tasks while balancing quality, quantity, and complexity in work output
  • Demonstrated capability to offer peer technical assessments in areas of expertise, new technologies and software designs
  • Mastered proficiency in writing software in C, C++, and relevant experience and/or training in data structures or object-oriented design methodology
  • Demonstrated strong and effective verbal, written, and interpersonal communication skills
  • Must be positive, detail oriented, organized, team oriented and a driven problem solver, multi-tasker, and self-starter with the ability to prioritize and lead in a fast paced, deadline-driven environment
  • Proficient knowledge, utilization and mastery of relevant software engineering tools (configuration management systems, build processes, debuggers, emulators, simulators and logic analyzers)

Desired Qualifications
  • Previous work or internship experience in design, particularly for consumer products
  • Linux programming experience
  • Multi-threaded software development
  • Wireless communication experience (Bluetooth/BLE, WI-FI)
  • Familiar with hardware communication interfaces (I2C, SPI, UART, USB)
  • Experience using laboratory equipment (e.g., logic analyzer, digital oscilloscope, In-circuit debuggers)

Garmin International is an equal opportunity employer. Qualified applicants will receive consideration for employment without regard to race, religion, color, national origin, citizenship, sex, sexual orientation, gender identity, veteran's status, age or disability.
This position is eligible for Garmin's benefit program. Details can be found here: Garmin Benefits

What Garmin employees say

Pay

Benefits

Hours and flexibility

Workplace

Get the full story on Breakroom