Key Responsibilities:
- Translate application storyboards and use cases into functional applications
- Design, build and maintain efficient, reusable, and reliable Java code
- Ensure the best possible performance, quality, and responsiveness of the applications
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization, and automation
- Interpret specifications and interrogate to enable understanding
- Maintain existing applications
- Produce quality software according to specification
- Troubleshooting, defect tracking & defect resolution of programs within the application space
- Provide support to Test team, Analysts & other role players in the interest of getting the job done
- Technical Document
Qualifications and Experience:
- Minimum of 5 years experience within a Java development environment and 3 years within a Scrum delivery framework
Core Skills:
- Java SE8 ++
- SQL
- JavaScript
- ORM — Hibernate
- Unit Testing
- Producing clean code
- Code Refactoring
- Microsoft SQL Server database
- Experience working with queues (SQS or others)
- Software design patterns
- Code reviews
- Knowledge about microservice design
Competencies:
- Problem solving skills
- Conceptual and analytical thinker
- Good communication / interpersonal skills
- Action / results orientation
- Quality orientation
- Knowledge seeking / learning orientation
- Must have a positive attitude
- Have a strong desire / willingness to learn and to always improve
- Conduct must be professional at all times
- Must take ownership of tasks and be accountable
- Team player
- Get along well with others
- Must be able to get the cooperation of people in other departments
Additional Competencies and Skills:
Additional Experience and Skills that would be advantageous:
- Designing REST APIs
- Guidewire packages & Gosu programming language
- Spring Framework (https://spring.io/)
- Docker
- React
- Cloud development (AWS)
- NoSQL, especially AWS DynamoDB
- Maven
- Git
- Understanding TDD
- Good grasp of OO concepts and the implementation thereof
- Experience in the Financial Services industry would be advantageous
High level summary requirements:
- Can with ease work remotely, but are also willing to be in the office (Cape Town, Bellville) when required
- Mastery in Java (Design, coding, techniques, etc.)
- Solid integration design & coding experience (APIs, Complex data mapping, Queues, System Monitor Dashboards, NFRs, etc.)
- Agile Scrum development environment experience
- Solid DevOps knowledge & experience within a large corporation
- Please refer to the attached specifications for more detail requirements