Junior Developer
Johannesburg - South Africa
Job Summary
- Develop enhance and maintain Java applications and services.
- Build and consume RESTful APIs including request and response models validation error handling and versioning.
- Implement data access with JPA/Hibernate against relational databases including queries mappings and transaction handling.
- Write and maintain SQL for development investigation and performance checks.
- Apply object-oriented design so new code fits existing patterns and is readable by the wider team.
- Write unit and integration tests and support system and regression testing before release.
- Debug defects across application API and database layers and document root cause and fix.
- Use Git for branching commits pull requests and code review feedback.
- Build and package applications with Maven or Gradle and follow the teams build and release process.
- Participate in design discussions sprint planning stand-ups and estimations.
- Support deployments and provide first-line technical input on incidents within the junior scope.
- Maintain technical notes configuration records and handover comments for features and fixes.
- Follow secure coding data-protection and audit requirements that apply to sensitive data.
- Escalate risks early where a change could affect message flow data integrity or service availability.
- 3 years commercial software development experience.
- Java used in production applications rather than coursework only.
- Spring Boot for services configuration dependency injection and REST endpoints.
- RESTful API development and consumption.
- SQL and relational databases.
- JPA/Hibernate including entity mapping and basic query tuning.
- Git in a team workflow.
- Maven or Gradle.
- Object-oriented programming and clean maintainable code.
- Software testing including unit tests and defect verification.
- Debugging and troubleshooting across logs APIs and databases.
- Ability to work from a specification and ask clear questions when requirements are incomplete.
- Written and verbal communication suitable for technical and non-technical stakeholders.
- Angular and TypeScript for supporting front-end or admin screens.
- Microsoft Azure and Azure DevOps (repos pipelines boards releases).
- Microservices and distributed architecture.
- Docker and Kubernetes.
- API security including JWT authentication and authorisation.
- Integration development: mapping transformation interface agreements and partner testing.
- Messaging technologies such as queues or event streams.
- Healthcare or clinical systems including HL7 FHIR or hospital information systems.
- Experience with mission-critical or high-availability applications.
- Exposure to monitoring logging and alerting in production.
Required Skills:
3 years commercial software development experience. Java used in production applications rather than coursework only. Spring Boot for services configuration dependency injection and REST endpoints. RESTful API development and consumption. SQL and relational databases. JPA/Hibernate including entity mapping and basic query tuning. Git in a team workflow. Maven or Gradle. Object-oriented programming and clean maintainable code. Software testing including unit tests and defect verification. Debugging and troubleshooting across logs APIs and databases. Ability to work from a specification and ask clear questions when requirements are incomplete. Written and verbal communication suitable for technical and non-technical stakeholders.
Required Education:
A diploma or degree in Computer Science Information Technology Software Development or a related field.