The suitable candidate will be a Java Developer with strong database knowledge. This role will be responsible for developing and maintaining high-quality software applications, ensuring seamless integration with various database systems.
Java Responsibilities
· Develop and maintain Java-based applications using core Java and advanced Java (Java 17).
· Design and implement microservices using Spring Boot and other relevant frameworks.
· Build and consume RESTful APIs and web services.
· Integrate with databases, ensuring performance optimization (e.g., SQL databases like PostgreSQL, Oracle).
· Write unit and integration tests using JUnit, TestNG, Mockito, or other testing frameworks.
· Develop SQL queries and analyze data to support application development and production issues.
· Implement object-oriented design principles and patterns for scalable and maintainable codebases.
· Ensure adherence to clean code principles and write reusable, modular code.
· Troubleshoot and debug Java applications, ensuring optimal performance and security.
· Participate in code reviews and provide constructive feedback to peers.
· Follow Agile methodologies (Scrum) and participate in sprints, daily stand-ups.
· Use version control systems like GitHub for source code management.
· Implement and manage CI/CD pipelines using GitHub Actions.
· Collaborate with DevOps teams for cloud deployment and infrastructure management (AWS).
· Design, configure, and implement Spring Batch jobs for processing large datasets and scheduling tasks.
· Implement dynamic web pages and views using JSP (Java Server Pages).
· Design and implement authentication and authorization mechanisms using Key Cloak for identity and access management, ensuring secure communication through OAuth 2.0 and JWT tokens.
· Leverage SAML/SSO integration for single sign-on and authentication.
Database Responsibilities
Experience and Technical Skills Required
· Seven (7) years of experience in Java and modern technologies.
· Previous experience using
- Java (Java 17+) features such as records, sealed classes, switch expressions, pattern matching, and enhanced performance improvements
- Node 16+
- ServiceNow, Splunk, Dynatrace
- Spring Framework (Spring Boot, Spring MVC, Spring Data, Spring Security, Spring Batch)
- Microservices Architecture (Designing, developing, and deploying microservices)
- Java Server Pages (creating dynamic web pages and integrating with back-end logic)
- Database Management (PostgreSQL, Oracle and experience with ORM tools like Hibernate)
- RESTful Web Services (API development, consumption, and integration)
- Thorough understanding of REST, SOAP, Web services and API Communication protocols S/FTP/S, HTTP/S, File I/O etc.
- Testing: JUnit, TestNG, Mockito
- Version Control: GitHub
- Build Tools: Maven, NPM
- CI/CD: GitHub Actions
- Frontend Integration: Understanding of HTML, CSS, JavaScript, and Angular 17+
- Security & Identity Management: Experience with OAuth 2.0, JWT tokens, and SAML/SSO integration for authentication and authorization
- KeyCloak Integration: Integrate KeyCloak with Java-based applications and services for API authentication
- Scripting Languages: Proficiency in one or more scripting languages, such as Bash, or PowerShell, Python
- Experience with cloud-based databases (e.g., AWS RDS).
- Proficiency in SQL and experience with relational databases (e.g., MySQL, PostgreSQL, Oracle).
- Knowledge of NoSQL databases (e.g., MongoDB, Cassandra) is a plus.
- Familiarity with agile methodologies.