Logo
Garmin International Inc

Embedded Software Engineer - Marine Communications Applications

Garmin International Inc, Cary, North Carolina, United States, 27518


Overview

We are seeking a full-time

Embedded Software Engineer 2

on our Marine embedded software development team in our Cary, NC location. We are seeking someone who is passionate about

developing GUI software

and is excited about creating an amazing integrated messaging platform for boaters. You will be involved in building messaging applications, safety systems and device-to-device communication capabilities using radio, cellular, satellite and other communications technologies for marine displays and devices.

Essential Functions Performs software engineering tasks at all phases of the SDLC including developing requirements, code, tests, and documentation for complex embedded display user interface software Creates and executes designs for small sets of new functionalities as part of a software project using C and C++ Utilizes software engineering tools such as configuration management systems, build processes, and debuggers in the software development process Designs and implements high- quality code that is efficient, maintainable and performant Collaborates effectively with User Experience, Quality and cross-functional engineering teams May serve as a technical leader on software development projects 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, Aerospace Engineering, Math, Physics 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 user interface 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) Proficient knowledge of and experience with the C/C++ language for embedded applications including OOP concepts, memory management, data/control coupling, data structures, and pointers Desired Qualifications

Outstanding academics (cumulative GPA greater than or equal to 3.5) Linux development experience Experience developing embedded software on a preemptive/multi-threaded RTOS Passion for boating or other on-the-water activities Familiarity with design, development and testing of high-level application and user interface code Familiarity and/or proficiency with mid-level protocol API development and debugging, as needed for device-to-device communication Experience with git, Gerrit, Microsoft Visual Studio or Visual Studio Code, JIRA and Microsoft Azure ADO Familiarity with marine communications technologies such as VHF, AIS or satellite communications Familiarity with UX design Experience with multi-channel messaging applications Familiarity with networking protocols and standards, including TCP/IP, Wi-Fi, Controller Area Network (CAN)/NMEA, Bluetooth/BLE and ANT, and experience implementing and debugging network applications

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