We are seeking a full-time Senior Software Engineer (Java) for our headquarters in the greater Kansas City area. In this role, you will help build a broad ecosystem that includes watches, sensors, mobile apps, websites, and APIs. We’re looking for strong technologists who enjoy working on cross-functional teams and are passionate about what they do. Our developers end up immersing themselves in training and sports and often join in user testing.
If you’re a golfer, runner, cyclist, or triathlete, you already know Garmin as the maker of the industry’s best watches. We not only record data, but also break down our customers activities with insightful metrics, provide training hints and plans, help plan routes and navigate, and provide a holistic view of athletes’ health and conditioning.
Watches are just one of Garmin’s incredible range of products which help drive our $3B business. Along with these devices, Garmin has mobile apps and websites that provide users with a rich experience above and beyond what our wearables provide. Our Device Interaction services platform processes up to 30,000 requests per second to serve up to 3 million active users a day.
Responsibilities
Essential Functions
Developing API’s, which are scalable, supportable, and reliable that service the entire Garmin ecosystem
Participating in the full life-cycle of development from conception, analysis, design, implementation, testing and deployment, and use Garmin and Third Party Developer APIs to support innovative features across Garmin devices, web, and mobile platforms
Working with developers across the globe on cutting edge technologies including micro-services and big data/noSQL
Working in an agile environment delivering code frequently to production, so you get to see what you build in action quickly
Working on a platform that has a positive impact on millions of end user wellness and fitness wellbeing
Working in an ecosystem that you likely use on a daily basis
Delivering cutting edge features on one of the largest wearables platforms on the planet
Working on big scalability challenges that lend to looking at new technologies and ways of doing things
Mentoring less experienced Software Engineers (1 & 2)
Contributing to advanced technical research on new technologies
Offering process improvement suggestions and authors new procedures as appropriate
Providing reliable solutions to a wide range of difficult problems using sound problem solving techniques
Qualifications
Basic Qualifications
Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Aerospace Engineering, Math, Physics or related field AND a minimum of 5 years 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)
Basic server design and debugging experience
Strong Java skills and Spring Boot experience
Ability to turn feature requests into technical designs
Knowledge and experience with REST
Understanding of relational data fundamentals
Experience with test tools like JUnit, Arquillian, JMeter, etc.
Experience with continuous deployment patterns
Good communication skills with both technical and non-technical team members
Willingness to take initiative and work independently while also collaborating in a team environment
Must be positive, detail oriented, organized, team oriented and a driven problem solver, multi-tasker, and self-starter with the ability to prioritize and lead in a fast paced, deadline-driven environment
Desired Qualifications
Outstanding academics (cumulative GPA greater than or equal to 3.5)
Experience with React
Experience with Rabbit MQ and/or Kafka
Experience with big data and Elasticsearch
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.