RESPONSIBILITIES:
- Translate application User Stories into functional applications
- Design, build, and maintain efficient, reusable, reliable, testable and secure Java code
- Design and build API following microservices principles
- Ensure the best possible performance, quality, and responsiveness of the applications
- Identify bottlenecks and bugs, and find solutions to fix issues
- Help team to maintain code quality, organization, and automatization
REQUIREMENTS:
Primary Skills:
- Language: Java, SQL
- Frameworks: SpringMVC, SpringBoot, Hibernate, Junit, Mockito
- API specification: Spectral, Swagger
- Java API Security: Authentication, Authorization, common security standards
- Database: SQL server, MariaDB, MySQL, PostgreSQL
- Tools: Gradle, Maven, GIT, JIRA/Confluence
- At least basic knowledge of AWS Cloud and deployment
Secondary Skills:
- Basic of advanced knowledge of an alternate cloud provider (AWS, GCP…)
- Kubernetes on one cloud provider
- CI/CD tools (Harness, Jenkins)
- BS/MS degree in Computer Science, Engineering or a related subject
- Good English communication is a must
- Minimum 4+ years of relevant experience primarily in Java backend development
- Proficient in Java, with a good knowledge of its ecosystems
- Proficient in writing efficient, reusable, reliable, testable and secure Java code
- Excellent in popular Java frameworks: Spring MVC, Spring Boot, Hibernate
- Familiarity with concepts of MVC, JDBC, and RESTful, micro service
- Familiarity with security aspects of backend API: authentication, authorization, OAuth, OpenID, JWT, SAML, SSO
- Object Oriented analysis and design using common design patterns
- Familiarity with common integration patterns: REST, Messaging, Streaming, SOAP
- Knowledge of concurrency patterns in Java
- Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate)
- Proficient understanding of code versioning tools, such as Git
- Familiarity with build tools such as Gradle, Maven, Ant
- Familiarity with continuous integration and basic cloud services on one cloud provider is a plus
- Familiarity with other languages for backend is a plus: NodeJS, dotNET, Kotlin
- Knowledge of the business domains is a plus: Insurance (Life/Non-life), Banking
- Experience working in an agile team, practicing Scrum, Kanban
- Good communication skills, interpersonal and teamworking skills
- Pro-active and flexible working approach
- Team-player with experience working with international and multi-functional teams
- Self-development skills to keep up to date with fast-changing trends