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.
Proficiency in Postgres, PL/SQL and Oracle database technologies.
Formulating data dictionaries that are congruent with task specifications.
Creating technical documents that outline the purpose, capacity, and guidelines attached to each database.
Providing practical guidance on the use and migration of each database.
Servicing and updating databases, as required.
Database Responsibilities
Development: Design and implement PL/SQL functions, procedures, and packages to meet business requirements.
Triggers: Create and manage database triggers for automation of tasks and enforcement of business rules.
Performance Tuning: Optimize SQL queries and PL/SQL code for performance and scalability.
Database Design: Collaborate with the data modeling team to create efficient database designs.
Testing: Conduct unit and integration testing of PL/SQL code to ensure reliability and accuracy.
Documentation: Maintain documentation for developed code, processes, and database schemas.
Collaboration: Work closely with application developers, business analysts, and other stakeholders to gather requirements and provide technical support.
Troubleshooting: Diagnose and resolve database issues, including performance bottlenecks and data integrity problems.
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.
Bachelor's degree in Computer Science