Developing moderately complex software and creating and executing designs for small sets of new functionalities for Garmin products and/or applications.
Requirements
- Demonstrated proficiency and experience necessary to develop moderately complex software in C, C++, C-Sharp, Java, assembly language, or other selected languages
- Proficient knowledge, utilization and mastery of relevant software engineering tools (configuration management systems, build processes, debuggers, emulators, simulators and logic analyzers)
- Previous experience in RESTful APIs and microservices
Responsibilities
- Creates and executes designs for small sets of new functionalities as part of a software project using C-Sharp, Java, or other object oriented programming languages
- Utilizes 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
- 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
Other
- 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)
- Previous work or internship experience in design, particularly for consumer products
- Serves as a mentor to less experienced software engineers (Software Engineer 1)
- Supports working hours as part of a rotating schedule to provide on call support of Garmin’s 24/7 operations