Cary, North Carolina, USA
20 days ago
Embedded Software Engineer - Marine Communications Applications
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, Math, Physics or related field AND a minimum of 1 year relevant experience OR an equivalent combination of education and experience 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 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
Confirm your E-mail: Send Email