Design and implement robust, scalable and optimally performing systems using Java related technologies, according to provided specifications, standards and procedures, while ensuring compliance with the architectural standards and guidelines laid out by Discovery.
Areas of responsibility may include but not limited to
Design:
- Translate business requirements into technical designs adhering to Discovery Insure processes, standards and guidelines, taking cognisance of performance, security and scalability requirements. Deliver within agreed timeframes.
- Liaise with relevant parties where clarification of business requirements or resolution to technical issues is needed
- Research and find effective solutions to technical issues that arise
- Estimate development timelines based on business requirements
ADVERTISEMENT
Development:
- Construct robust, maintainable, scalable, optimally performing system code in line with technical specifications, following prescribed process, standards and procedures. Deliver within agreed timeframes
- Conduct unit testing and fix any defects found
Testing:
- Verify build stability and quality with development team before releasing to test team, aiming to release with zero defects
- Assist the Business analyst in ensuring the test pack includes relevant scenarios and test data.
- Consult and assist in reviewing risk / impact of defects found in testing, and assist with fixing where necessary
Support / Troubleshooting:
- Assist system users with technical support issues and handle according to defined procedures
- Ability to effectively analyse root cause of system errors (data errors, performance and stability issues)
Mentoring / Team development:
- Actively coach other developers to understand and apply the Insure coding and architectural standards correctly, as well as any technologies in use
- Perform code review to ensure logical correctness, maintainability, scalability, performance, compliance with architectural standards and frameworks
- Assist in identifying training needs of team members
Personal development:
- Keep abreast of current technological trends and how these might be applied in the Discovery environment
- Constant improvement of knowledge of the various applications, their functionalities and data models
General:
- Ability to communicate clearly, constructively and effectively. Easily able to follow and participate in technical, business process, and other discussions
- Able to build business relationships with other members of team and the business areas we support.
Personal Attributes and Skills
Technical Competencies
- Excellent understanding of Object Orientated principals and Java language fundamentals
- Knowledge of commonly used design patterns
- Broad understanding of how to put together an EE-based business solution from scratch
- EJB
- HTML
- JSF
- JQuery
- JAXB
- SOAP Web services
- Message Driven Beans
- UML
- XML/XSD
- SQL
Behavioural Skills:
- Action orientated go-getter, hungry to learn and add real value
- Structured and analytical problem solver: Obsessive about finding solutions to problems: action oriented problem solver.
- Able to plan, organise and prioritize own work
- Able to multitask
- Able to work independently
- Team player: reliable, works actively with others towards common goal, communicates constructively, shares information, knowledge and experience, treats others in a respectful and supportive manner
Education and Experience
Essential:
ADVERTISEMENT
- 6+ years’ experience in Java development with exposure to core competencies listed
Advantageous Experience
ADVERTISEMENT
- REST Web services
- JSON
- Business Process Management Tools
- Apache Camel
- Apache Webserver Configuration
- JBOSS Configuration
- CSS
- GIT
- Integrated Build Tools
- HTML 5
- Knowledge of Short Term Insurance industry
Working knowledge of:
- Software development within SDLC
- Unit Testing
- Data modelling and design of database structures
- BSc Computer Science /Information Systems degree
- Formal Java qualification