Unknown Company

Senior C++ Software Engineer -Map Rendering

cary, nc • Posted 3 days ago
Onsite Full Time General

Senior C++ Software EngineerWe 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 FunctionsDesign, implement, and optimize map rendering pipelines for embedded platforms with limited memory and compute resourcesDevelop high-performant C++ software with a focus on efficiency, correctness, and maintainabilityAnalyze and improve system performance, including CPU, memory usage, and power consumptionArchitect and implement robust multithreaded systems, ensuring thread safety and optimal concurrencyDesign and optimize caching strategies (e.g., tile caching, data locality improvements) to minimize latency and resource consumptionCollaborate with product, systems, and hardware teams to align software design with platform constraintsDebug and resolve complex issues across multiple layers (rendering, data handling, threading)Contribute to code reviews, mentoring, and establishing engineering best practicesDrive continuous improvement in code quality, performance profiling, and system reliabilityBasic QualificationsBachelor's degree in Computer Science, Computer Engineering, or a related field AND 5 years of software development experience OR related combinationStrong proficiency in modern C++ (C++17 or later), including memory management and performance optimizationSolid understanding of multithreading and concurrency (e.g., synchronization primitives, lock-free techniques)Experience developing software for embedded or resource-constrained systemsStrong problem-solving skills and ability to work effectively in complex technical domainsDesired QualificationsExperience with graphics programming or rendering pipelinesFamiliarity with map rendering concepts (e.g., tiling, vector/raster data, spatial indexing)Experience optimizing software for power efficiency and low memory footprintKnowledge of caching algorithms and data-oriented design techniquesExperience with performance profiling and optimization toolsBackground in real-time systems or latency-sensitive applicationsExperience working with hardware acceleration or GPU/embedded graphics stacksFamiliarity with cross-platform development and toolchains for embedded systemsGarmin 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

Back to Job Search