OverviewWe are seeking a highly skilled Senior C++ Software Engineer to join our Cary, North Carolina location in our
Map Rendering group. This team focuses on developing high-performance map rendering solutions for embedded devices. This role involves designing and implementing efficient rendering pipelines and data systems that operate within strict constraints on memory, power consumption, and processing resources.
The ideal candidate has deep expertise in modern C++, strong fundamentals in systems programming, and experience building performant, reliable software in constrained environments. Experience with graphics technologies and rendering techniques is highly desirable. This individual will collaborate closely with cross-functional teams to deliver scalable, efficient, and maintainable solutions that directly impact end-user experience.
Essential Functions- Design, implement, and optimize map rendering pipelines for embedded platforms with limited memory and compute resources
- Develop high-performant C++ software with a focus on efficiency, correctness, and maintainability
- Analyze and improve system performance, including CPU, memory usage, and power consumption
- Architect and implement robust multithreaded systems, ensuring thread safety and optimal concurrency
- Design and optimize caching strategies (e.g., tile caching, data locality improvements) to minimize latency and resource consumption
- Collaborate with product, systems, and hardware teams to align software design with platform constraints
- Debug and resolve complex issues across multiple layers (rendering, data handling, threading)
- Contribute to code reviews, mentoring, and establishing engineering best practices
- Drive continuous improvement in code quality, performance profiling, and system reliability
Basic Qualifications- Bachelor's degree in Computer Science, Computer Engineering, or a related field AND 5 years of software development experience OR related combination
- Strong proficiency in modern C++ (C++17 or later), including memory management and performance optimization
- Solid understanding of multithreading and concurrency (e.g., synchronization primitives, lock-free techniques)
- Experience developing software for embedded or resource-constrained systems
- Strong problem-solving skills and ability to work effectively in complex technical domains
Desired Qualifications- Experience with graphics programming or rendering pipelines
- Familiarity with map rendering concepts (e.g., tiling, vector/raster data, spatial indexing)
- Experience optimizing software for power efficiency and low memory footprint
- Knowledge of caching algorithms and data-oriented design techniques
- Experience with performance profiling and optimization tools
- Background in real-time systems or latency-sensitive applications
- Experience working with hardware acceleration or GPU/embedded graphics stacks
- Familiarity with cross-platform development and toolchains for embedded systems
This position is eligible for Garmin's benefit program. Details can be found here: Garmin Benefits