Senior Java and Database Developer
Apply on
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.
- 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.