Senior Software Engineer Remote Permanent Tech Stack (backend Java And Springboot, Restful Api)

Cape Town, Western Cape, South Africa

Job Description


A Global Client of ours with head office in New Zealand and staff located across South Africa, UK, India and Europe are seeking a Software Engineer (based in Cape Town) to work remotely) - BACK-END SERVICES USING JAVA and SPRING BOOT

  • The role is responsible for designing, developing, and optimizing scalable microservices while ensuring robustness, security, and scalability.
  • The role includes working with various databases, integrating messaging systems, and ensuring high performance and observability.
Duties and Accountabilities:
  • Develop and maintain highly scalable and robust back-end services using Java and Spring Boot.
  • Design and implement RESTful APIs, ensuring their integration with various messaging systems (Kafka, RabbitMQ).
  • Work with relational (Postgres) and NoSQL databases (Cassandra, OpenSearch, Pinot), ensuring optimal performance through tuning and optimization.
  • Utilize Kafka for data streaming and manage workflows using Apache Airflow.
  • Implement unit and integration testing using JUnit/Mockito, TestContainers, and BDD frameworks.
  • Ensure secure, scalable, and efficient microservices adhering to system design and architecture best practices.
  • Implement observability with logging, tracing, and monitoring tools like Prometheus and Grafana.
  • There is an expectation that the role accountabilities and duties will evolve over time. It may be necessary to review this job description through a consultative approach and make alterations in response to the changing nature of our work environment, including but not limited to technological requirements or statutory changes
Resources, Relationships and Authorities:
The role shall collaborate closely with:
  • Engineering teams
  • Marketing and sales teams
  • Customer support teams
  • Executive leadership
  • External clients from time to time
  • This position requires a high degree of autonomy and the ability to collaborate effectively with cross-functional teams.
  • The role has no authority to incur routine expenditure, commit capital expenditure, approve loans, or extend credit without approval from the Managing Director or the Managing Directors designated representative.
  • The role has no authority to bind the Company to agreements with any other party without approval the Managing Director or the Managing Directors designated representative.
Experience and Qualifications
  • Extensive experience in back-end development with a strong focus on Java, including concurrency, collections, streams, and design patterns.
  • Proficiency in Spring Boot, Spring Data, Spring Security, and Hibernate/JPA.
  • In-depth knowledge of RESTful API design, microservices architecture, and containerized deployments using Docker and Kubernetes.
  • Experience with message-driven architectures and tools like Kafka or RabbitMQ.
  • Strong understanding of relational databases (Postgres) and NoSQL databases (Cassandra, OpenSearch, Pinot).
  • Proficiency with Git and experience with CI/CD pipelines (GitLab CI) and DevOps practices.
  • Experience with designing systems that ensure at least one message delivery and idempotent data pipelines.
  • Familiarity with telemetry tooling (Prometheus, Grafana)
  • A positive professional approach and presentation.
  • Well-developed organisation and time management skills.
  • Accuracy and conciseness in written and verbal communications.
  • Proficiency with Microsoft Office products
  • Ability to work collaboratively in multidisciplinary, agile teams.
  • Strong communication skills, particularly in explaining complex technical solutions and trade-offs.
  • Experience in iterative development and adapting to feedback quickly.
  • Capacity for problem-solving and making informed decisions in a collaborative environment.
Desirable:
  • Exposure to other programming languages such as Scala or Python.
  • Experience with reactive programming and functional programming in Java.
  • Familiarity with Kubernetes and Docker containers for managing microservices.
  • Experience with GitLab CI for continuous integration and deployment.
  • Knowledge of event-driven architectures and distributed systems.
  • Experience with Kafka Streams and Kafka Connect.

Beware of fraud agents! do not pay money to get a job

MNCJobs.co.za will not be responsible for any payment made to a third-party. All Terms of Use are applicable.


Job Detail

  • Job Id
    JD1424555
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    Cape Town, Western Cape, South Africa
  • Education
    Not mentioned