Senior C++ Software Engineer - Map Navigation

About the position

We are seeking a full-time Senior C++ Software Engineer - Map Navigation at Garmin's U.S. headquarters in the Greater Kansas City area OR in our Cary, NC office to help improve map search performance and capability across millions of embedded devices from wearables to cycling computers. In this role, you will work on core systems that enable map search to be highly efficient and exceptionally responsive at runtime across constrained environments. This is a system and innovation focused role centered on C++, performance engineering, and reliable quality. You will tackle challenges in next-generation search capability, memory optimization, and high-performance systems that directly influence real-world user experience in demanding outdoor conditions. Your work will directly impact the responsiveness and usability of map search experiences across our ecosystem.

Responsibilities

  • Serve as a senior individual contributor in the design and development of next-generation search systems and high-performance runtime architectures in C++
  • Own and drive solutions that improve map search performance, data efficiency, and accuracy of results across embedded and resource-constrained devices
  • Design and review architecturally sound software systems using modular components to enable scalable platform evolution
  • Evaluate emerging technologies and methodologies as they apply to future-facing search and embedded system capabilities
  • Participate in project leadership and/or program planning including providing technical input to product direction, architecture, and innovation initiatives
  • Mentor and provide guidance to less experienced Software Engineers
  • Collaborate with cross-functional teams to integrate map search capabilities across Garmin products and ensure solutions meet real-world usage scenarios in dynamic environments
  • May serve as a Lead Software Engineer for complex or cross-functional software development efforts
  • Provide technical direction and contribute to system-level tradeoffs involving performance, memory efficiency, scalability, and user experience

Requirements

  • Experience designing or working with search algorithms and large-scale structured datasets
  • Proficiency in C++ (C++14 or newer preferred)
  • Strong background in systems-level, embedded, or performance-critical software development
  • Demonstrated ability to decompose functional requirements into well-defined tasks while balancing quality, quantity and complexity in work output
  • Strong problem-solving skills, including the ability to research and apply appropriate algorithmic solutions
  • Proven experience designing scalable, high-performance software systems that solve complex technical challenges
  • Demonstrated ability serving as a lead software engineer for a complex software project
  • Demonstrated capability to offer peer technical assessments in areas of expertise, new technologies and software designs
  • Strong communication skills and the ability to articulate complex technical concepts to non-technical stakeholders.
  • Bachelor of Science in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Aerospace Engineering, Math or Physics or another relevant engineering/technical field AND a minimum of 5 years relevant experience OR an equivalent combination of education and relevant experience
  • Excellent academics (cumulative GPA greater than or equal to 3.0 as a general rule)

Nice-to-haves

  • Familiarity with data compression, tiling, indexing, or spatial data systems
  • Experience optimizing search performance or large-scale data access patterns in constrained or high-performance systems
  • Previous experience in embedded, wearable, fitness, automotive, or other resource-constrained environments
  • Superior academics (cumulative GPA greater than or equal to 3.5)
  • Proficiency writing software in C#, SQL or Python for tooling and automation

Benefits

  • Garmin's benefit program
Back to blog

Other Jobs To Apply

Common Interview Questions And Answers

1. HOW DO YOU PLAN YOUR DAY?

This is what this question poses: When do you focus and start working seriously? What are the hours you work optimally? Are you a night owl? A morning bird? Remote teams can be made up of people working on different shifts and around the world, so you won't necessarily be stuck in the 9-5 schedule if it's not for you...

2. HOW DO YOU USE THE DIFFERENT COMMUNICATION TOOLS IN DIFFERENT SITUATIONS?

When you're working on a remote team, there's no way to chat in the hallway between meetings or catch up on the latest project during an office carpool. Therefore, virtual communication will be absolutely essential to get your work done...

3. WHAT IS "WORKING REMOTE" REALLY FOR YOU?

Many people want to work remotely because of the flexibility it allows. You can work anywhere and at any time of the day...

4. WHAT DO YOU NEED IN YOUR PHYSICAL WORKSPACE TO SUCCEED IN YOUR WORK?

With this question, companies are looking to see what equipment they may need to provide you with and to verify how aware you are of what remote working could mean for you physically and logistically...

5. HOW DO YOU PROCESS INFORMATION?

Several years ago, I was working in a team to plan a big event. My supervisor made us all work as a team before the big day. One of our activities has been to find out how each of us processes information...

6. HOW DO YOU MANAGE THE CALENDAR AND THE PROGRAM? WHICH APPLICATIONS / SYSTEM DO YOU USE?

Or you may receive even more specific questions, such as: What's on your calendar? Do you plan blocks of time to do certain types of work? Do you have an open calendar that everyone can see?...

7. HOW DO YOU ORGANIZE FILES, LINKS, AND TABS ON YOUR COMPUTER?

Just like your schedule, how you track files and other information is very important. After all, everything is digital!...

8. HOW TO PRIORITIZE WORK?

The day I watched Marie Forleo's film separating the important from the urgent, my life changed. Not all remote jobs start fast, but most of them are...

9. HOW DO YOU PREPARE FOR A MEETING AND PREPARE A MEETING? WHAT DO YOU SEE HAPPENING DURING THE MEETING?

Just as communication is essential when working remotely, so is organization. Because you won't have those opportunities in the elevator or a casual conversation in the lunchroom, you should take advantage of the little time you have in a video or phone conference...

10. HOW DO YOU USE TECHNOLOGY ON A DAILY BASIS, IN YOUR WORK AND FOR YOUR PLEASURE?

This is a great question because it shows your comfort level with technology, which is very important for a remote worker because you will be working with technology over time...