Java Developer
Johannesburg Ward 102, South Africa
Duration
6
MONTHS
Negotiable
Ref
Balkishan
Starts
ASAP
Opened On
14/01/2025
Required Skills
java development
code quality
orm
maven
development team
software
kubernetes
continuous integration
sprint planning
web services
Job Description

Job Overview:

We are seeking a highly skilled and experienced Senior Java Developer to join our dynamic development team. The ideal candidate will have a strong background in Java development, with extensive experience in building and maintaining scalable, high-performance applications. You will play a key role in driving development initiatives in an agile environment while collaborating closely with cross-functional teams to deliver high-quality software solutions.

Key Responsibilities:

  • Design, develop, and maintain robust Java-based applications, with a focus on high-performance and scalability.
  • Collaborate within an agile team, participating in sprint planning, code reviews, and daily stand-ups.
  • Apply Object-Oriented Design principles and utilize design patterns to create efficient, maintainable, and reusable software components.
  • Implement and work with messaging protocols such as SOAP and REST to integrate with various systems and services.
  • Leverage test-driven development (TDD) practices to ensure high code quality and coverage.
  • Engage in domain-driven design to understand and develop solutions based on business requirements.
  • Maintain and improve existing applications, ensuring they remain high-performing and reliable.
  • Utilize CI/CD tools (such as Jenkins) to automate and streamline build, test, and deployment processes.
  • Manage and optimize open-source relational databases, particularly PostgreSQL.
  • Work with source control systems such as GitHub and Bitbucket, ensuring proper versioning and code collaboration.
  • Document technical processes, designs, and workflows in Confluence, ensuring clarity and accessibility for the team.
  • Collaborate with other teams to ensure proper integration of application features and functionality.
  • Troubleshoot and resolve issues as they arise, ensuring minimal disruption to development timelines.

Required Skills & Qualifications:

  • Minimum 6 years of hands-on Java development experience.
  • Strong experience working in an Agile environment.
  • Excellent communication, analytical, and decision-making abilities, with the capacity to work in collaborative team settings.
  • Solid understanding and application of Object-Oriented Design principles, as well as experience with common design patterns.
  • Experience with test-driven development (TDD) and domain-driven design (DDD).
  • In-depth knowledge of messaging protocols and web services, including SOAP and REST.
  • Proficiency with open-source relational databases, particularly PostgreSQL.
  • Experience working with Continuous Integration and Continuous Delivery (CI/CD) tools, such as Jenkins.
  • Familiarity with Artifact Management tools, preferably Nexus.
  • Expertise in Java 8 and J2EE development.
  • Strong familiarity with development and project management tools such as Jira and Confluence.
  • Version control proficiency using GitHub and Bitbucket.
  • Experience with build automation tools like Maven.
  • Strong understanding and experience with testing frameworks such as Junit.
  • Hands-on experience with ORM frameworks, such as Hibernate or JPA.

Preferred Qualifications:

Bachelor’s degree in Computer Science, Engineering, or a related field.

Experience with cloud platforms (AWS, Azure, etc.).

Knowledge of containerization and orchestration technologies like Docker and Kubernetes.

Familiarity with front-end technologies and frameworks (e.g., Angular, React) is a plus.