About the job
OverviewWe are seeking a full-time Software Engineer 1 (Mobile Developer) proficient in Android for our office in Boulder, CO. The Garmin mobile team is helping to deliver the ultimate dog tracking and hunting products to Garmin users. Garmin Dog products strive to build a better dog with devices for tracking and training. From obedience to hunting and limiting nuisance barking, get exactly what you need to make life with your hunting buddy that much better!
In this role you can expect to love building cross-platform mobile experiences with cloud connectivity, and not be afraid to dabble in other areas of the tech stack. If you like to nerd-out over design patterns, clean architecture and extensibility, or have even developed and published apps to Google Play/Apple App Store as part of a professional product team, then we want to hear from you!
Essential Functions
- Architects custom integrations with Garmin mobile SDKs and web services by implementing clean, extensible design patterns in Android- Java & Kotlin
- Collaborates with a multi-discipline team to design, build, test, and debug mobile apps for Android and iOS devices that communicate with Garmin cloud services and hardware
- Creates and manages CI/CD automation for building, testing, and deploying apps to Apple App Store and Google Play
- Utilizes tools such as Git, Bitbucket, TestFlight, Firebase and JIRA to manage code, features, and releases
- Collaborates on Agile Scrum ceremonies, peer code reviews, and design sessions, estimating level of complexity and suggesting improvements to process or solutions
- Supports production environment as part of a rotating schedule providing on call support of Garmin’s 24/7 operations
- Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Aerospace Engineering, Math, Physics or related field 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 and experience necessary to develop moderately complex software in Java, Kotlin, Swift, or Objective-C
- Proficient knowledge, utilization and mastery of relevant software engineering tools such as configuration management systems, build processes, debuggers, emulators, test automation
- Outstanding academics (cumulative GPA greater than or equal to 3.5)
- Previous work or internship experience in design, particularly for consumer products
- MVVC, MVC, MVP or other UI/UX patterns
- Multi-discipline proficiency in both Android and iOS
- Kotlin, Android- Java, Swift, Objective-C
- Mapping SDKs like MapBox, Google Maps, and Apple Maps
- GPS and BLE APIs
- Protobuf or light-weight serialization
- RESTful web services
- MQTT, CoAP, or other application layer protocols
- Push notification services like GCM, APNS, and Firebase Messaging
- Pipeline development using BitBucket/Bamboo, GitLab, or GitHub
- Release management and Beta programs through Firebase and TestFlight
- Previous work with multi-discipline teams (mechanical, electrical, firmware, software)
- AWS, Docker, K8s or similar cloud and container solutions
- Java Spring Boot or other full-stack web frameworks
- Microservices architecture and migrating legacy codebases
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