Intermediate Java Developer

  • Johannesburg, Gauteng, South Africa
  • Part-Time
  • Hybrid
  • -

Job Description:

Job Title: Senior Java Developer

Location: Johannesburg, South Africa (with remote work flexibility)

About the Company:

[Insert Company Name Here] is a dynamic and innovative technology company at the forefront of [mention industry or sector, e.g., digital transformation, financial services, e-commerce]. We are dedicated to building cutting-edge solutions that [mention company mission or impact, e.g., revolutionise customer experiences, solve complex business challenges, drive technological advancement]. We foster a collaborative and inclusive environment where creativity is encouraged, continuous learning is paramount, and every team member contributes to our shared success. Join us to work on exciting projects, grow your skills, and make a tangible impact.

Responsibilities:

As a Senior Java Developer, you will play a pivotal role in the design, development, and deployment of robust, scalable, and high-performance applications. Your key responsibilities will include:

  • Designing, developing, and maintaining complex enterprise-level applications using Java (JDK 11+).
  • Building and evolving microservices architectures, ensuring resilience, scalability, and maintainability.
  • Developing and integrating RESTful APIs to facilitate seamless communication between various systems.
  • Collaborating with product owners, architects, and other stakeholders to understand requirements and translate them into technical solutions.
  • Writing clean, efficient, well-documented, and testable code.
  • Participating actively in code reviews to maintain high code quality and share knowledge within the team.
  • Working with both SQL and NoSQL databases, optimising queries and ensuring data integrity.
  • Implementing and managing solutions on cloud platforms such as AWS or Azure.
  • Driving continuous integration and continuous deployment (CI/CD) practices to streamline development workflows.
  • Mentoring junior and mid-level developers, fostering their growth, and promoting best practices.
  • Troubleshooting and debugging complex issues, providing timely and effective resolutions.
  • Staying abreast of emerging technologies and industry trends to continuously improve our technical stack and processes.

Required Qualifications:

  • A minimum of 5+ years of professional experience in Java development, with a strong emphasis on Java (JDK 11+).
  • Extensive experience with the Spring Boot framework.
  • Demonstrable expertise in designing, developing, and deploying microservices architectures.
  • Proficiency in creating and consuming RESTful APIs.
  • Solid understanding and practical experience with both SQL (e.g., PostgreSQL, MySQL, SQL Server) and NoSQL databases (e.g., MongoDB, Cassandra).
  • Experience with cloud platforms such as AWS or Azure.
  • Proven track record with CI/CD pipelines and tools (e.g., Jenkins, GitLab CI, GitHub Actions).
  • Strong understanding of software development principles, design patterns, and agile methodologies.
  • Excellent problem-solving abilities and a keen eye for detail.
  • Strong communication and interpersonal skills, with the ability to collaborate effectively within a team and across departments.
  • A Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience.

Preferred Qualifications:

  • Experience with containerisation technologies (e.g., Docker, Kubernetes).
  • Familiarity with message brokers (e.g., Apache Kafka, RabbitMQ).
  • Experience with front-end technologies (e.g., React, Angular) is a plus, though not a primary focus.
  • Prior experience in a mentorship role, guiding and developing fellow developers.
  • Experience working in a distributed team environment.