The role
Job description
POSITION SUMMARY:
Garmin is searching for a talented and passionate Java Software Engineer to join our team of code enthusiasts! You are self-motivated, goal-oriented and strong team player who is willing to be an active contributor to the success of the team, providing technical solutions and support in a dynamic and highly performing environment. We offer you the chance to join a team of software professionals who all work together to achieve the best results for our customers. You’ll be working in a dynamic and agile environment surrounded by people with a pioneering spirit and passion for challenges.
ESSENTIAL FUNCTIONS:
We’re looking for strong technologists who enjoy working on cross-functional teams and are passionate about what they do. Some responsibilities are:
- Developing API’s, which are scalable, supportable, and reliable that service the entire Garmin ecosystem.
- Participating in the full lifecycle of development from conception, analysis, design, implementation, testing and deployment.
- Working with developers across the globe on cutting edge technologies including microservices and SQL DBs.
- Working in an agile environment delivering code frequently to production, so you get to see what you build in action quickly.
- Working on big scalability challenges that lend to looking at new technologies and ways of doing things.
- Developing cloud native applications using modern frameworks such as Spring/Spring Boot, Java, etc.
- Designs, enhances and develops single and multi-system applications written in Java.
- Provides solutions for complex software problems for existing applications.
- Maintains, improves, and extends existing software with limited assistance from other associates.
- Works collaboratively and professionally in a team environment to determine general approach and specific solutions to technical problems.
- Reviews complex tasks for soundness of technical judgment and overall adequacy and accuracy.
- Works with Garmin IT Analysts to develop and implement unit and system testing processes for single or multi system projects.
- Demonstrates quality and effectiveness in work documentation and organization.
EXPERIENCE AND SKILLS REQUIRED:
Graduated in technical discipline or equivalent professional experience in computer science (BE/B.Tech/M.Tech/MCA/M.Sc) and a minimum of 5 years relevant experience is required. Qualified candidates will also demonstrate proficiency with:
- Self-driven, adaptable, and passionate about learning new technologies.
- Team player with a positive attitude and growth mindset.
- Strong hands-on experience with Java, Spring Boot, JPA, Hibernate, and JdbcTemplate.
- Experience designing and developing APIs, including robust error handling.
- Strong SQL skills, including complex query development, data modeling, and stored procedures.
- Experience with asynchronous application design and messaging technologies such as RabbitMQ or Kafka.
- Experience implementing OAuth-based authentication and authorization.
- Familiarity with JUnit, JMeter, Kibana, and AppDynamics.
- Working knowledge of Docker, Kubernetes, Git, and Jira.
- Experience working in Agile teams using Scrum.
- Strong problem-solving skills and the ability to communicate effectively with technical and non-technical stakeholders.
GOOD TO HAVE SKILLS:
- Front-end development experience with JavaScript, CSS, and at least one of Vue, Angular, React or Node.js.
- Experience using GitHub Copilot effectively in day-to-day development.
- PLSQL understanding and any previous experience in it.
- Understanding of Oracle EBS R12 or any previous experience in it or in any similar other EBS software.