C C++ Software Engineer 2 Communication protocols
We are seeking a full-timeC/C++ Embedded Software Engineer2on our Wireless Protocol software team in our Cary, NC location.
As a member of the Networking Technology team, you will deliver software features for a diverse set of innovative products such as next-gen dashcams, fishfinders,chartplotters, bike computers, handheld 2-way radios, and other personal navigation devices tailored for off-roading, racing, trucking, and recreation. We push the limits of wireless connectivity to deliver advanced features such as remote device monitoring, media streaming, automated cloud storage uploads, automatic software and map updates, and many more unique capabilities.
Responsibilities:Essential Functions
- Design and deliver high-quality embedded C and C++ software on embedded Linux andreal timeoperating systems (RTOS)
- Prototype and productize software features in a fast-paced environment
- Analyze, debug, and resolve Wi-Fiperformance and interoperability issues using wireless protocol analyzers as well as tenacity and ingenuity
- Collaborate with stakeholders across Garminto implement innovativeconnectivityuse-cases and to enhance existing designs to meet new requirements
- Integrate,maintain, and contribute to third-party and open-source software projects
- Utilize software engineering tools such as configuration management systems, build processes, and debuggers in the software development process
- May perform as a technical leader or Lead Software Engineer for derivative software project
- Collaborate and add value through participation in peer code reviews, providing comments and suggestions
- Provide reliable solutions to a variety of problems using sound problem solving techniques
- Perform technical root cause analysis and outline corrective action for given problems
- Contribute to technical research onnew technologies
- Estimate level of effort, evaluate new options of similar technology, offer suggestions to improve processes, and provide feedback on some electrical design aspects
- Serve as a mentor to less experienced software engineers (Software Engineer 1)
Basic Qualifications
- Bachelors Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Math, Physics or related fieldANDa minimum of1 yearrelevant experience (notincluding internships or co-ops)ORan equivalent combination of education and experience
- Excellent academics (cumulative GPA greater than or equal to 3.0as a general rule)
- Demonstratedproficiencyand experience necessary to develop moderately complex software in embedded C/C++,preferablyon Linux
- Proficient knowledge,utilizationand mastery of relevant software engineering tools (configuration management systems, build processes, debuggers, emulators,simulatorsand logic analyzers)
- Collaborative and flexible, eager to learn
Desired Qualifications
- Outstanding academics (cumulative GPA greater than or equal to 3.5)
- Experience with networking or communications across the internet including streaming audio or video
- Experience with wireless technologies such as Wi-Fi
- Experience developing multi-threaded programs in Linux
- Knowledge of modern C++ standards
- Python scripting experience
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.
This position is eligible for Garmin's benefit program. Details can be found here:Garmin Benefits
