What are the responsibilities and job description for the GUI Software Engineer - Marine Communications Applications position at Garmin?
Job Details
Overview
We are seeking a full-time Senior Embedded Software Engineer 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
Basic Qualifications
Desired Qualifications
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
We are seeking a full-time Senior Embedded Software Engineer 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
- Serves in a leadership capacity as an individual contributor for carrying out software development in C and C for new products and/or applications
- Performs software engineering tasks at all phases of the SDLC including developing requirements, code, tests, and documentation for complex embedded display user interface software
- 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
- Mentors and provides guidance to less experienced Software Engineers (1 & 2)
- 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
- Mastered proficiency in writing software in C and C for embedded systems, and relevant experience in data structures or object-oriented design methodology
- 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
- Demonstrated strong and effective verbal, written, and interpersonal communication skills
- Must be positive, detail oriented, organized, team oriented and a driven problem solver, multi-tasker, and self-starter with the ability to prioritize and lead in a fast paced, deadline-driven environment
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
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.