Responsibilities/Tasks:
- Support existing and develop new functionality and components.
- Understand existing product and domain elements and work with business analysts to refine and implement new requirements.
- Refactor and improve the code to keep the product maintainable and adaptable to new requirements.
- Work effectively in a team environment and follow/develop product software development processes and standards.
- Evaluate and improve application performance, and high availability features.
- Create unit and integrated system tests to show that the developed functionality works as intended.
- Do root cause analysis on bugs to find and fix the cause of a problem in an integrated system.
- Build and deploy the system on an application server.
- Incorporate the work done by other developers and do whatever is necessary to get the system to work again with the changes, including debugging other people’s code, making changes to test data, etc.
Requirements:
- Relevant tertiary qualification in Engineering or Computer Science and/or matric and at least 6 years relevant experience as a developer as part of a team in a software development environment.
- A strong knowledge of Java essential.
- Experience in JavaScript or Typescript is preferred.
- Ability to work in a team environment: Follow/provide mentorship.
- A good understanding of the SDLC process, tools and techniques specifically as applied to software development methodology.
- Experience with team development tools: Use of source control applications (preferably Git).
Experience of the following technologies:
- Java EE (J2EE) server side technologies.
- Java 8 and above (Java 17 – preferable).
- JPA /Hibernate.
- Experience with an application server/container (Karaf – preferable).
- Build tools(i.e. Maven, GIT, Jenkins).
- SQL and experience with a relational database (Apache Derby).
- Bootstrap, CSS3, HTML5
- REST/SOAP..
- Ability to deliver production quality software by e.g. paying attention to detail, do extensive unit testing and support quality testing phases.
Nice to have:
- Experience of financial systems.
Knowledge and/or experience of the following would be a plus:
- Continuous integration (Hudson, Bamboo or Jenkins).
- Integration experience (Web services, JMS ).
- JAXB and XML Schema.
- Use of a UML tool for documentation.
- Blasé DS.
- JavaScript or Typescript.
- Webpack/NPM
Personal Profile:
- Technologist that has a passion for learning and understanding the broader technical and implementation approached in the software development domain.
- Ability to switch between big picture thinking and discussing/defining details at a deeper technical level.
- Self-starter, self-motivated, team player.
- Strong attention to detail.
- Able to work under pressure and meet deadlines.
- Ability to work remotely responsibly.
Desired Skills:
- SoapUI
- • Integration experience (Web services
- Use of a UML tool for documentation