We are seeking a full-time EmbeddedSoftware Engineer in our Cary, NC location on ourMarine Communications team. We're seeking someonewho ispassionate about creating solid integrated messaging and communications experiences at the middle-to-high (GUI) layer of the stack for boaters. You will be involved in buildingmessaging applications, safety systems and device-to-device communication capabilities using radio, cellular, satellite and other technologies, for marine chartplotters and other devices.
Essential Functions
Creates and executes designs for small sets of new functionalities as part of a software project using C and C++ at the middle to high (GUI) layer of the embedded stack
Utilizes software engineering tools such as configuration management systems, build processes, and debuggers in the software development process
Collaborates effectively with UX, Quality and other engineering teams
Collaborates and adds value through participation in peer code reviews, providing comments and suggestions
Provides reliable solutions to a variety of problems using sound problem solving techniques
Performs technical root cause analysis and outlines corrective action for given problems
Contributes to technical research on new technologies
Estimates level of effort, evaluates new options of similar technology, offers suggestions to improve processes, and provides feedback on some electrical design aspects
Serves as a mentor to less experienced software engineers (Software Engineer 1)
Basic Qualifications
Bachelor's Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering or related field AND a minimum of 1 year 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 and experience necessary to develop moderately complex software in C and C++ for embedded systems
Proficient knowledge, utilization and mastery of relevant software engineering tools (configuration management systems, build processes, debuggers, emulators, simulators and logic analyzers)
Desired Qualifications
Outstanding academics (cumulative GPA greater than or equal to 3.5)
Linux development experience
RTOS experience
Passion for boating or other on-the-water activities
Familiarity with design, development and testing of high-level application code, including user interface
Familiarity and/or proficiency with mid-level protocol development and debugging, as needed for device-to-device communication
Experience with git, Gerrit, JIRA and Microsoft Azure ADO
Familiarity with marine communications technologies such as VHF, AIS or satellite communications is a plus
Familiarity with UX design is a plus
Experience with multi-channel messaging applications is a plus
Familiarity with networking protocolsand standards, including TCP/IP, Wi-Fi,Controller Area Network (CAN)/NMEA,Bluetooth/BLE and ANT, and experience implementing and debugging network applications, are a plus
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.
This position is eligible for Garmin's benefit program. Details can be found here: Garmin Benefits