Senior Java Developer
Engineer We are a leading worldwide provider of navigation devices and wearable technology, with a focus on developing, designing and supporting superior products.
This is not your typical application development job. At Garmin, we work with hardware that communicates to mobile applications and other devices. Garmin is a great place to work if you love developing products that make a difference and are passionate about technology.
Our benefits are designed to lead an evolving marketplace, support innovation and encourage a healthy balance between work and life. They allow our associates to make their own decisions about their wellbeing and future and consistently rank Garmin as a top tier benefits provider when compared to other high-tech employers.
Summary of the role:
Your role would be to contribute collaboratively and professionally in a team environment to develop design and implementation for specific requirements and technical problems. Strong knowledge of Java 8 and Spring is the core of the position.
In this role, you will be responsible for:
- Making substantial contributions to determining feasibility of projects goals and objectives
- Reviewing complex tasks for soundness of technical judgment and overall adequacy and accuracy. Viewed as a mature professional, able to successfully carry out complex projects
- Demonstrating proficient use and knowledge of established standards and procedures
- Improving existing software with limited assistance from other associates 5. Capable of mentoring and evaluating one or more Engineers
We are looking for a person with the following skills and knowledge:
- Excellent knowledge of Java Fundamentals and OOP principles
- Excellent knowledge of Spring Framework (Container, AOP, JDBC, MVC, Integration, Security)
- Excellent knowledge of web services (REST, SOAP)
- Excellent knowledge of relational and non-relational databases
- Excellent knowledge of unit testing (Junit, Mockito)
- Excellent understanding of design patterns and N-Tier architecture
- Strong knowledge of development tools (source control, development environment, issue tracking)
- Excellent knowledge of building tools and continuous delivery
- Experience with application servers (Tomcat)
- Prior experience in an Agile environment
- Excellent English speaking and writing skills
- Team player
Desirable qualifications and background include:
- BSc in Computer Science, IT or similar
- 5+ years of relevant work experience
Would be a plus:
- RabbitMQ knowledge
- Good Elasticsearch knowledge
- OAuth knowledge
Would be a great plus:
- Good Cloud computing knowledge