Senior Software Engineer

Garmin International, Inc.Cary, NC
Onsite

About The Position

We are seeking a full-time Senior C/C++ Embedded Software Engineer in our Cary, NC location on our Marine embedded software development team. We’re seeking someone who is passionate about creating great weather awareness and integrated media+entertainment experiences for boaters. You will build applications that help boaters navigate weather and fishing forecasts; coordinate and control stereo, streaming audio, LED lighting and other entertainment devices; and integrate media content across the vessel network. Your software will run on marine chartplotters and other devices.

Requirements

  • Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, or related field AND a minimum of 5 years relevant experience OR an equivalent combination of education and experience
  • 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++ on embedded platforms
  • 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

Nice To Haves

  • Outstanding academics (cumulative GPA greater than or equal to 3.5)
  • Linux development experience
  • Familiarity with networking protocols and standards, including TCP/IP, Wi-Fi, Controller Area Network (CAN/NMEA, Bluetooth/BLE and ANT, and experience implementing and debugging network applicatoins are a plus
  • Passion for boating, or other on-the-water activities
  • Passion for audio, media or other entertainment technologies
  • Systems thinker
  • Familiarity with design, development and testimg of reusable application code, including API - oriented designs
  • Familiarity with REST and HTP is a plus
  • Experience with git, Gerrit, JIRA and Microsoft Azure ADO
  • Familiarity with embedded or mobile UI development is a plus

Responsibilities

  • Serves in a leadership capacity as an individual contributor for carrying out software development in C and C++
  • Designs and implements code that is efficient, maintainable and verifiably correct
  • Works effectively across multiple software layers, focussing on application logic, data persitencce and network communications
  • Builds relationships with product managers, quality teams and engineers across Garmin
  • Reveiws architected modules and software systems supporting new technolgy or improving capability/performance of existing functionality
  • May serve as a Lead Software Engineer for complex software development projects
  • Decomposes functional requirements into well-defined tasks
  • May coordinate work across teams, geographies and technical domains
  • 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

Benefits

  • Garmin's benefit program
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service