We are seeking a full-time Senior IoT (Internet of Things) Software Engineer for our location in Cary, NC. Seeking someone who is passionate about enabling wireless networking technology in our various products including dashcams, fishfinders, off-roading, racing, trucking and recreation devices. The wireless connectivity delivers advanced features like remote device monitoring, live video streaming, Group Ride setup, automated cloud storage, speech recognition... and more! In this role, you will be responsible for providing technical leadership and project planning for software development for products, applications, or systems new to Garmin.
Essential Functions
Serves in a leadership capacity for carrying out software development in embedded C on embedded Linux or Android OSP (Android Open Source Project) in a fast-paced environment
May serve as a Lead Software Engineer for complex software development project designs and/or reviews architected modules and software systems supporting new technology or improving capability/performance of existing functionality
Decomposes functional requirements into well-defined tasks
Analyze, debug and resolve Wi-Fi and LTE performance and interoperability issues using wireless protocol analyzers
Offers peer technical assessments in areas of expertise, new technologies and software designs
Deliver features up and down the software stack - from integrating device drivers to writing code to manage Wi-Fi or LTE interfaces
Assists design engineering as needed with component datasheet review and schematic design review
Participates in project leadership and/or program planning including providing technical input to product development plans and concept documents
Makes substantial contributions toward determination of project goal/objective feasibility and applies good judgment in setting schedules/risk taking
Contributes to advanced technical research on new technologies
Offers process improvement suggestions and authors new procedures as appropriate
Provides reliable solutions to a wide range of difficult problems using sound problem solving techniques
Basic Qualifications
Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Math, Physics or related field AND a minimum of 5 years relevant experience OR an equivalent combination of education and experience
Excellent academics (cumulative GPA greater than or equal to 3.0 as a general rule)
Demonstrated proficiency with designing well architectured software systems and modules that support new technology or improve capability/performance of existing functionality
Demonstrated competence with researching fundamental problems and implementing appropriate algorithmic solutions
Demonstrated ability to serve as a lead software engineer for a complex software project
Ability to decompose functional requirements into well-defined tasks while balancing quality, quantity, and complexity in work output
Demonstrated capability to offer peer technical assessments in areas of expertise, new technologies and software designs
Must possess mastered proficiency in writing software in embedded C on a Linux-based system
Must possess relevant experience and/or training in data structures or object-oriented design methodology relevant to Garmin’s business needs
Experience in wireless networking technologies and TCP/IP protocols
Desired Qualifications
Working knowledge of Wi-Fi or LTE communication protocols
Programming experience in Java, Kotlin or Python
Android AOSP (Open Source Project) experience
Streaming video or audio communications
Garmin 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.