As an Embedded Networking Team Leader, you will work in a fast-paced environment and will enable your team to create, productize and maintain new technologies for Garmin product segments including Portable Aviation, Outdoor, and Fitness. These segments create a diverse set of products including running and outdoor watches, handheld navigation devices, cycling computers, portable aviation navigators, network enabled biosensors and many other innovative products.
Essential functions of the role include:
- Lead a team of Software Engineers with diverse capability levels in the design of new products and networking use-cases, enhancement of existing designs, and development of test procedures
- Coordinate and participate in generating software requirements and designs for a product or family of products in accordance with Garmin’s software development methodology
- Participate in software design and code reviews as necessary, mentoring associates on good design and development practices
- Create feature development plans as directed by engineering management to ensure successful delivery of wireless ecosystem solutions for a variety of products and use-cases
- Ensure the team meets milestones and development goals across a diverse set of product development plans or market requirements
- Regularly communicate progress and status updates to leadership
- Conduct regular 1:1's with associates, providing support for both short and long-term career objectives
- Participate in recruiting activities to hire new associates, and oversee training and mentoring of all associates on your team
- Perform other job-related duties as assigned
Requirements include Bachelor and/or Master of Science Degree in Computer Science, Electrical Engineering, Computer Engineering, or Software Engineering and the following:
- Excellent academics (cumulative GPA greater than or equal to 3.0)
- 5 years of work experience in Software Engineering and / or Software Engineering Management or Technical Project Leadership
- At least 1 year of experience in a leadership role with duties including mentoring, interviewing, training, associate development, performance management and/or aligning the team to meet organizational goals
- Detailed knowledge and experience with C/C++
- Experience developing and/or maintaining layer 1-4 networking software running on an embedded system (ie. Ethernet, Wifi, LTE, Zigbee)
- Familiarity with various networking protocols including TCP/IP, UDP, PPP, PPPoE, TLS, etc. or standards including Ethernet, Wi-Fi, LTE, Bluetooth, etc.
- Experience debugging complex problems on embedded systems
- Strong and effective verbal, written, and interpersonal communication skills
- Ability to work well with distributed software development across several locations world-wide in a highly collaborative environment
Other desirable skills and experience include:
- Familiarity with the Bluetooth, 3GPP and/or IEEE 802.11 specifications
- Experience debugging with wireless protocols over-the-air using commonly available protocol analyzers (Wireshark, Frontline, Ellisysetc.)
- Experience integrating and maintaining 3rd party Bluetooth, Wi-Fi, or LTE stacks (e.g. SDKs) on embedded or mobile (iPhone / Android) devices
- Familiarity with common networking software implementations, including ConnMan, wpa_supplicant, hostapd, pppd, and others
- Experience designing & developing communication protocols for systems utilizing UART, I2C, SPI and other such inter-IC interfaces
- Ability to identify system / software security risks and develop solutions
- Experience with modular software design in cross-platform ecosystems
- Experience writing software development and test plans
- Ability to work on multiple simultaneous development projects
- Experience with collaborative project tracking (JIRA), version control (Git), and code review (Gerrit) software tools