C++ Senior Software Engineer - Linux Audio

Garmin   •  

Chandler, AZ

Industry: Retail & Consumer Goods


5 - 7 years

Posted 73 days ago

This job is no longer available.


As a leading worldwide provider of navigation devices and wearable technology, our focus is on developing, designing and supporting superior products. Our advanced technology promotes performance, safety and ease of use in every market we serve. That makes us an engineering and technology company with a keen focus on recruiting talent in those fields. But the same vertical integration business model that keeps all design and manufacturing processes in-house also gives us the incentive to hire top performers from different backgrounds, including operations, finance and accounting, information technology, sales, marketing and communications.

Associates get the royal treatment at Garmin. Regardless if you’re a newbie or a veteran, engineers dream it, design it and use it. Here, you will be surrounded by others who share the same passion about what they do every day. We offer a relaxed team environment (no dress code!) where advancement is found from sharing knowledge, not hiding it! While we promise you a lot of responsibility, you also will have the opportunity to have ownership over projects…oh, and we promise you there will be some fun mixed in there, too!

If cars are your thing, Garmin has your team. The worldwide leader in satellite navigation is making inroads in automotive OEM (original equipment manufacturer). This quickly expanding, award-winning market includes a broad range of in-vehicle electronics, including automotive grade infotainment and telematics systems, navigation software, location-based services and integrated portable navigation systems.

We’re looking for self-motivated, confident and passionate engineers to help us deliver our intuitive navigation experience and other exciting in-car technologies to auto manufacturers around the globe.

We are looking for a full time Senior Software Engineer who is interested in developing drivers and middleware for Garmin's Automotive OEM Audio solutions on the next generation of navigation and infotainment systems at our location in Chandler, AZ.

In addition to software development in C++, Lua, or C, Auto OEM Software Engineers will design and/or review architected modules and software systems supporting new technology or improving capability/performance of existing functionality.

Senior Software Engineers on the Audio team will also:

  • Research, prototype and evaluate new and emerging Audio technologies from the global markets
  • Test and debug software using debuggers, emulators, simulators or logic analyzers
  • Decompose functional requirements into well-defined tasks
  • Research fundamental problems and implements algorithm solutions that are appropriate
  • Balance quality, quantity and complexity in work output
  • Offer peers technical assessments in areas of expertise, new technologies and software designs
  • Assist design engineering as needed with component datasheet review and schematic design review
  • May partner with electrical engineering and process manufacturer to turn on new processors
  • May work with software vendors to integrate externally developed deliverables into project
  • Evaluate new technologies as they apply to existing functions
  • Participate in project leadership and/or program planning including providing technical input to product development plans and concept documents
  • Make substantial contributions toward determination of project goal/objective feasibility
  • Mentor and/or supervises to less experienced Software Engineers (1 & 2)
  • Contribute to advanced technical research on new technologies
  • Independently determines general approach and specific solutions to technical problems
  • Offer process improvement suggestions and author new procedures as appropriate
  • Provide reliable solutions to a wide range of difficult problems using sound problem solving techniques
  • Apply good judgment in setting schedules and risk taking
  • Exemplify Garmin’s Mission Statement and Quality Policy and proactively works to improve Garmin’s image and culture
  • Apply knowledge of production and operations issues as they relate to engineering
  • Otherresponsibilities include reviewing product and/or application information manuals and brochures for technical accuracy and participating in product definition activities such as feature analysis and system tradeoffs.


Candidates for this role should possess a Master of Science Degree in Computer Science, Electrical Engineering, Computer Engineering, Math or Physics or another relevant engineering/technical field AND a minimum of 3 years relevant experience OR Bachelor of Science Degree in any of the fields noted above AND a minimum of 5 year relevant experience OR an equivalent combination of education and relevant experience plus a cumulative GPA greater than or equal to 3.0 as a general rule.

Qualified candidates will also demonstrate proficiency with designing architecture software systems and modules that support new technology or improve capability/performance of existing functionality and competence with researching fundamental problems and implementing appropriate algorithmic solutions. Demonstrated ability to serve as a lead software engineer for a complex software project and the ability to decompose functional requirements into well-defined tasks while balancing quality, quantity and complexity in work output are also required.

Other requirements for this role include:

  • Strong C/C++ development skills
  • Experience with unit testing frameworks and automation.
  • Demonstrated capability to offer peer technical assessments in areas of expertise, new technologies and software designs
  • Previous experience developing on embedded devices
  • Familiarity with developing, debugging, and optimizing embedded multi-threaded systems running on Intel or ARM based processors.
  • Must possess relevant experience and/or training in data structures or object oriented design methodology relevant to Garmin’s business needs
  • Must possess relevant education and/or experience in software design, development and maintenance, as required for the successful performance of the essential functions of the position

Previous experience and knowledge of Linux Audio tools such as ALSA, as well as developing in Lua is highly desired.