Bachelor's Degree in Computer Science, Engineering, Math, Physics, or related field and 5+ years of relevant experience
Demonstrated experience in implementing technology solutions and managing complex multi-system applications
Proficient in secure coding practices and software development in languages such as Java, SQL, and PL/SQL
Experience with version control systems, notably GIT
Strong interpersonal, verbal, and written communication skills
Responsibilities
Lead software development projects as an individual contributor for new products/applications
Conduct technical assessments and reviews of software architecture
Decompose functional requirements into actionable tasks
Research and implement algorithm solutions for complex problems
Mentor and guide junior software engineers to enhance their skills
Participate in project leadership and provide technical input for product development
Contribute to process improvement and author new procedures
Benefits
Eligibility for Garmin's comprehensive benefits program
Opportunities for mentorship and professional development
Participation in advanced technical research on new technologies
Support for work-life balance through rotating on-call schedules
Access to a collaborative team environment fostering innovation
Full Job Description
Overview
We are seeking a full-time Senior Java Software Engineer at Garmin's U.S. headquarters in the Greater Kansas City area. In this role, you will be responsible for providing technical leadership and project planning for software development for products, applications, or systems new to Garmin as an individual contributor.
Essential Functions
Serves in a leadership capacity as an individual contributor for carrying out software development in Java for new products and/or applications
May serve as a Lead Software Engineer for complex software development project designs and/or reviews architected modules and software systems supporting new technology or improving capability/performance of existing functionality
Decomposes functional requirements into well-defined tasks
Researches fundamental problems and implements algorithm solutions that are appropriate
Offers peer technical assessments in areas of expertise, new technologies and software designs
Assists design engineering as needed with component datasheet review and schematic design review
Participates in project leadership and/or program planning including providing technical input to product development plans and concept documents
Makes substantial contributions toward determination of project goal/objective feasibility and applies good judgment in setting schedules/risk taking
Mentors and provides guidance to less experienced Software Engineers (1 & 2)
Contributes to advanced technical research on new technologies
Offers process improvement suggestions and authors new procedures as appropriate
Provides reliable solutions to a wide range of difficult problems using sound problem solving techniques
Supports working hours as part of a rotating schedule to provide on call support of Garmin's 24/7 operation
Basic Qualifications
Bachelor's Degree in Computer Science, Computer Engineering, Software Engineering, Math, Physics or related field AND a minimum of 5 years relevant experience OR an equivalent combination of education and experience
Demonstrated experience in successful implementation of technology solutions
Must demonstrate proficiency and possess the experience necessary to design, enhances and develops complex multi-system applications
Must demonstrate an ability to learn and understand secure coding practices
Demonstrated proficiency in writing software in developmental languages (Java, SQL, PL/SQL)
Experience with version control systems (GIT)
Demonstrated ability to work collaboratively to drive projects to effective/timely completion
Demonstrated strong and effective verbal, written, and interpersonal communication skills
Must possess the ability to decompose functional requirements into well defined tasks while balancing quality, quantity and complexity in work output
Demonstrated capability to offer technical assessments in areas of expertise, new technologies and software designs
Must possess proficiency in writing software in Java, Spring Framework, Spring Boot, Spring MVC, Spring Rest, JDBC, SQL Server, HBase, Elasticsearch, Rabbit MQ, JMS, Redis, Memcached, Docker, FIT SDK, Kafka as appropriate for performing the essential functions of this job description
Must possess relevant experience and/or training in data structures or object oriented design methodology relevant to Garmin's business needs
Must possess relevant education and/or experience in software design, development and maintenance, as required for the successful performance of the essential functions of the position
Desired Qualifications
REST API, Microservices architecture with Spring Boot
Java 11 or higher
Test Tools including Junit, Mockito and JMeter in implementing unit tests and integration test suites.
Previous experience working in a team environment
This position is eligible for Garmin's benefit program. Details can be found here: Garmin Benefits
About Garmin
Garmin Ltd. is an American multinational technology company founded in 1989 by Gary Burrell and Min Kao in Lenexa, Kansas. The company specializes in GPS technology for automotive, aviation, marine, outdoor, and sport activities. Garmin's products serve aviation, marine, automotive, wireless, outdoor recreation, and fitness markets. The company's goal is to create navigation and communication devices that can enrich customers' lives. Garmin has offices in the United States, Europe, and Asia. The company's products are sold in over 100 countries.