Garmin C++ Software Engineer - (Data Structures and Algorithms) in Olathe, Kansas
We are seeking an experienced Software Engineer with a passion for designing algorithms and data structures to solve open-ended problems. As a Software Engineer on the Map Technology team, you will play an important role in the lifecycle of key technologies integrated in our Automotive, Outdoor and Fitness products. Your responsibilities will include the design, development and maintenance of the map compilation toolchain and core algorithms such as destination search, route calculation, guidance, and traffic for Automotive, Outdoor, and Fitness, in close cooperation with Garmin’s Product teams for integration.\n\n\nESSENTIAL FUNCTIONS:\n\n \n\n\n\t\n\tDevelops complex software in C, C++, or other selected languages for new products and applications\n\t\n\t\n\tProvides reliable solutions using sound problem solving techniques to a wide range of difficult problems\n\t\n\t\n\tMay serve as a Lead Software Engineer for a complex software development project\n\t\n\t\n\tBalances quality, quantity and complexity in work output\n\t\n\t\n\tRefactors existing code to follow modern coding standards or design principles\n\t\n\t\n\tCollaborates and adds value through participation in peer code reviews, providing comments and suggestions\n\t\n\t\n\tIndependently determines general approaches and specific solutions to technical problems\n\t\n\t\n\tDesigns and/or reviews architected modules and software systems supporting new technology or improving capability/performance of existing functionality\n\t\n\t\n\tTests products in development, reports bugs, and provides usability feedback\n\t\n\t\n\tContributes to advanced technical research on new technologies \n\t\n\t\n\tParticipates in project leadership and/or program planning including providing technical input to product development plans and concept documents\n\t\n\t\n\tMakes substantial contributions toward determination of project goal/objective feasibility\n\t\n\t\n\tDecomposes functional requirements into well defined tasks \n\t\n\t\n\tApplies good judgment in setting schedules and risk taking\n\t\n\t\n\tOffers process improvement suggestions and authors new procedures as appropriate\n\t\n\t\n\tMentors and/or supervises less experienced Software Engineers \n\t\n\t\n\tExemplifies Garmin’s Mission Statement and Quality Policy and proactively works to improve Garmin’s image and culture\n\t\n\n\n \n\n\nOTHER RESPONSIBILITIES:\n\n \n\n\n\t\n\tMay work with software/data vendors to integrate externally developed deliverables into project\n\t\n\t\n\tParticipate in product and/or application definition activities including feature analysis and system tradeoffs\n\t\n\t\n\tPerform other duties as necessary\n\t\n\n\n \n\n EDUCATION, EXPERIENCE, AND SKILLS REQUIRED:\n\n \n\n\n\t\n\tBachelors of Science Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Aerospace Engineering, Math or Physics or another relevant engineering/technical field AND a minimum of 1 year of relevant experience OR an equivalent combination of education and relevant experience\n\t\n\t\n\tExcellent academics (cumulative GPA greater than or equal to 3.0 as a general rule)\n\t\n\t\n\tDemonstrates proficiency with designing well architectured software systems and modules that support new technology or improve capability/performance of existing functionality \n\t\n\t\n\tMust demonstrate competence with researching fundamental problems and implementing appropriate algorithmic solutions \n\t\n\t\n\tMust demonstrate competence with researching fundamental problems and implementing appropriate algorithmic solutions \n\t\n\t\n\tDemonstrated ability to serve as a lead software engineer for a complex software project \n\t\n\t\n\tMust possess the ability to decompose functional requirements into well defined tasks while balancing quality, quantity and complexity in work output \n\t\n\t\n\tDemonstrated capability to offer peer technical assessments in areas of expertise, new technologies and software designs \n\t\n\t\n\tMust possess proficiency in writing software in C and C++, including modern C++ design patterns. \n\t\n\t\n\tMust possess relevant experience and/or training in algorithms and data structures relevant to Garmin’s business needs\n\t\n\t\n\tMust 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\n\t\n\n\nDESIRABLE QUALIFICATIONS:\n\n\n\t\n\tSuperior academics (cumulative GPA greater than or equal to 3.5)\n\t\n\t\n\tPrevious experience working in a team environment\n\t\n\t\n\tExperience with functional programming languages and/or design patterns \n\t\n\n\nGarmin 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.