Job Information
Garmin Technical Lead Software Engineer in Cary, North Carolina
Overview
Garmin International seeks Technical Lead Software Engineer (Cary, NC; Multiple Positions):
Responsible for providing key technical contributions for major new products and/or applications including software development in C, C++, other selected languages.
Serves as a Lead Software Engineer for projects in new markets or relying heavily on new technologies.
Serves as architect for solutions that span multiple groups or disciplines.
Works with software vendors to integrate externally developed deliverables into projects, as required.
Evaluates new technologies, features and functions and offers suggestions.
Mentors and provides guidance to less experienced software engineers (Software Engineer 1 & 2 & Senior Software Engineers).
May lead major research or product and/or application development project consisting of multiple modules or sub-projects.
Offers process improvement suggestions and authors new procedures as appropriate.
Defines general approaches and specific solutions to technical problems considered state of the art.
Applies extensive technical expertise and analysis to all assigned projects.
Provides significant contribution to software reviews across multiple products and/or application types.
Completes broadly defined complex tasks including taking conceptual ideas and putting them to practice.
Regularly demonstrates creativity and ingenuity to develop reliable solutions to complex problems.
Exemplifies Garmin’s Mission Statement and Quality Policy and works to improve Garmin’s image and culture.
Full-time remote work is not available.
Requirements:
Bachelor of Science Degree in Computer Science, Electrical or Electronics Engineering, Computer Engineering, Software Engineering, Math or Physics or a technical field (such as CIS or IT) AND a minimum of 9 years relevant experience
Must show demonstrated experience in the following:
Serving as the lead software engineer for projects in new markets or relying heavily on new technologies
Architecting solutions for multiple groups and/or disciplines
Wi-Fi, LTE, Controller Area Network (CAN)/NMEA, Bluetooth and/or ANT
Linux kernel networking and writing software in C, and C++
Computer networking standards (OSI), concepts, and related protocols (ethernet, IP, TCP, UDP, ARP, mDNS and DHCP)
Designing well architectured software systems and modules that support new technology and improve capability/performance of existing functionality.
Developing and/or maintaining networking-related software running on an embedded system using Linux.
Must 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.
Previous experience providing technical guidance in a team environment.
#non-indexed