Senior Software Engineer - Android
Garmin · Louisville, CO · 3 wk ago
On-siteEngineeringFull-time
About the role
We are seeking a full-time Senior Software Engineer - Android in the Greater Denver area. In this role, you will provide technical leadership and project planning for software development as an individual contributor, focusing on new products, applications, or systems.
Responsibilities
- Serve in a leadership capacity as an individual contributor for software development in Java, Kotlin, or other selected languages for new products and/or applications
- Act as a Lead Software Engineer for complex software development projects, including designing and reviewing architected modules and software systems that support new technology or improve existing functionality
- Decompose functional requirements into well-defined tasks
- Research fundamental problems and implement appropriate algorithmic solutions
- Provide peer technical assessments in areas of expertise, new technologies, and software designs
- Assist design engineering with component datasheet and schematic design reviews
- Participate in project leadership and program planning, including providing technical input to product development plans and concept documents
- Contribute to determining project feasibility, goals, and objectives, and apply sound judgment in setting schedules and risk management
- Mentor and guide less experienced Software Engineers (levels 1 & 2)
- Contribute to advanced technical research on new technologies
- Suggest process improvements and author new procedures as appropriate
- Provide reliable solutions to a wide range of difficult problems using sound problem-solving techniques
Requirements
- Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Aerospace Engineering, Math, Physics, or a related field AND a minimum of 5 years of 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)
- Demonstrated proficiency in designing well-architected software systems and modules that support new technology or improve existing functionality
- Competence in researching fundamental problems and implementing appropriate algorithmic solutions
- Ability to serve as a lead software engineer for complex software projects
- Skill in decomposing functional requirements into well-defined tasks while balancing quality, quantity, and complexity
- Capability to offer peer technical assessments in areas of expertise, new technologies, and software designs
- Mastered proficiency in writing software in C, C++, C#, or Java, with relevant experience in data structures or object-oriented design methodology
- Strong and effective verbal, written, and interpersonal communication skills
- Positive, detail-oriented, organized, team-oriented, and a driven problem solver with the ability to prioritize and lead in a fast-paced, deadline-driven environment
Qualifications
- Experience with reactive frameworks, such as RxJava or Kotlin Flow
- Experience with dependency injection frameworks like Dagger, Koin, or Hilt
- Experience communicating with RESTful APIs using Retrofit or Ktor
- Experience with Jetpack Compose
- Experience with device integrations
- Experience with mobile capabilities such as widgets, push notifications, GPS, etc.
- Experience with iOS development (a plus)
- Experience with React Native, JavaScript, or TypeScript (a plus)
Benefits
This position is eligible for Garmin's benefit program. Details can be found here.