We are seeking a full-timeSenior Software Engineer who is passionate about networking technology on the Marine Engineering Networking team in Cary, NC. You will work with a number of wireless and wired networking technologies, including Ethernet, Wi-Fi, LTE, Bluetooth, ANT, and/or NMEA/CAN. Garmin's marine networking products utilize protocols and technologies such as TCP/IP, HTTP client and servers, mDNS, DHCP, over the air (OTA) software updates, video streaming protocols and many 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. (This is not a remote positon; it is hybrid- 3 days in office/2 days at home).
Responsibilities
Essential Functions
Serves in a leadership capacity for carrying out software development in C language and networking protocols like Wi-fi, Bluetooth, TCP/IP, etc
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
Researches fundamental problems and implements algorithm solutions that are appropriate
Offers peer technical assessments in areas of expertise, new technologies and software designs
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
Qualifications
Basic Qualifications
Bachelors Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Math, Physics or related fieldANDa minimum of 5 years relevant experienceORan equivalent combination of education and experience
Must possess proficiency in writing software in C
Must possess familiarity with various networking protocols and standards, including TCP/IP, Wi-Fi, LTE, Controller Area Network (CAN)/NMEA, Bluetooth and/or ANT
Must have experience developing and/or maintaining networking-related software running on an embedded system, preferably Linux
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
Desired Qualifications
Experience integrating 3rd party software
Familiarity with existing networking software implementations, like ConnMan, wpa_supplicant or others
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, veterans status, age or disability.