Our client in the IT industry based in Johannesburg is currently looking to employ an Intermediate Java Developer.
Purpose of the position:
- This role is responsible for development, testing and upgrades utilising web technologies. They need exposure to the full software life cycle to get the most from user interfaces. The role will develop high performance, scalable, reliable systems and engage with internal and external stakeholders to meet their needs.
Requirements:
- Relevant Bachelors/ Masters degree in Computer Science or IT related field.
- Valid code B driver’s license, own transport/ public transport.
- South African Citizen or valid South African work permit.
- 5+ years’ work experience in development utilising web technologies with specific experience in the following:
- OOP Principles – Polymorphism, inheritance, encapsulation, abstraction.
- Dependency injection.
- Good unit testing experience using unit testing frameworks such as Junit, Mockito, Powermock
- Solid understanding of GIT as a version control system.
- Build and dependency management using Gradle/ Maven.
- Experience with CI/CD concepts and tooling (Jenkins/ Docker/ Kubernetes).
- Experience using domain driven design as an approach to designing and building software and the associated software architectures.
- Broad eCommerce knowledge and understanding.
- Knowledge of coding languages including Java, PHP, C#, HTML5, JavaScript, Angular, Typescript and React.
- Knowledge of computer systems and latest technologies.
- Understand and use the latest modern web technologies and web design standards to get the most from user interfaces.
- Exposure in the full software life cycle.
- Developing high performance, scalable, reliable systems.
- Experience in unit testing and understanding the principles of extreme programming.
- Plan, test and create software based on user needs.
- Software maintenance, testing and functionality.
- Experience in Linux (advantageous).
Responsibilities:
- Assisting the senior development team.
- Contributing to company development meetings.
- Learning the code base of the various projects and improving coding skills.
- Writing and maintaining good quality code with as few errors as possible.
- Writing and maintaining unit tests for automation
- Evolving our CI/CD implementation across projects.
- Resolving and fixing bugs
- Monitoring the technical performance of internal systems.
- Responding to requests from the development team.
- Gathering information from consumers about program functionality.
- Recommend and implement performance improvements.
- Document technical factors such as server load, bandwidth, database performance, browser, and device types.
- Develop or implement procedures for ongoing website revision.
- Create web models/ prototypes.
- Provide clear, detailed descriptions of website specifications.
- Design and implement website security measures.
- Incorporate technical considerations into website design plans.
Please consider your application unsuccessful should you not receive a response within 2 weeks of applying.
Desired Skills:
- Java Development
- React
- TypeScript
- C#
- PHP
- HTML5
- Angular