Discovery Life
Single Sales Platform Team
Java Developer (Senior)
About Discovery
Discovery's core purpose is to make people healthier and to enhance and protect their lives. We seek out and invest in exceptional individuals who understand and support our core purpose, and whose own values align with those of Discovery. Our fast-paced and dynamic environment enables smart, self-driven people to be their best. As global thought leaders, Discovery is passionate about innovating in order to not only achieve financial success, but to ignite positive and meaningful change within our society.
About Discovery Life
Discovery Life is an ever growing fast-paced and dynamic environment that provides innovative risk assurance to individual clients. This environment thrives on customer engagement and customer experience as well as mutually beneficial relationships with our brokers and other stakeholders. It is important for our employees to provide a world class service to our internal and external clients, thereby ensuring long and sustainable relationships.
Key Purpose
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
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:
5+ years'
experience in Java development with exposure to core competencies listed
IT related Degree or Diploma (BSc/BTech or similar).
Advantageous:
Formal Java qualification
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
EMPLOYMENT EQUITY
The Company's approved Employment Equity Plan and Targets will be considered as part of the recruitment process. As an Equal Opportunities employer, we actively encourage and welcome people with various disabilities to apply.