Software Engineer 2
About the Job
On the Automotive Mobile Applications team, we develop apps that serve to enhance the capabilities of Garmin's automotive products. Members of our team work closely with device teams and product management to identify, design and implement useful features for our customers.
Responsibilities for Software Engineers in our mobile group include:
- Create and executes designs for software components within a larger project.
- 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 outlines corrective action for given problems.
- Serve as a mentor to less experienced software engineers and/or software interns.
- Maintain a good working knowledge of mobile development trends and apply that experience effectively.
- Estimate level of effort, evaluate new options of similar technology, offer suggestions to improve processes.
- Apply Garmin's Mission Statement and Quality Policy and enthusiastically exhibit a desire to see Garmin succeed.
- Work collaboratively and professionally with other Garmin associates in cross functional teams to achieve goals.
- Apply a sense of urgency, commitment and focus on the right priorities in developing solutions in a timely fashion.
Candidates for this role should possess a Bachelor of Science Degree in Computer Science, Electrical Engineering, Computer Engineering, Math or Physics or a technical field (such as CIS or IT) from a four-year college or university AND a minimum of one year relevant experience OR an equivalent combination of education and relevant experience plus a cumulative GPA greater than or equal to 3.0 as a general rule.
- Excellent working knowledge of Java, Kotlin, Android SDK, best practices
- Proficient in developing complex Android user interfaces. Ability to work closely with interface designers - contribute ideas, describe platform limitations
- Strong knowledge on Android components such as services, providers, activities, fragments, threading, etc.
- Good working knowledge of C++.
- Experience working with Git.
- Experience using task management systems like Jira.
- Experience with Jenkins and continuous integration build processes.
- Minimum 3 years professional experience, excluding internships/school as an Android Developer using Android Studio