Our division is responsible for designing, building and supporting central applications that are used both inside, as well as externally by our brokers and financial advisors.
Our division is responsible for designing, building and supporting central applications that are used both inside, as well as externally by our brokers and financial advisors.
Key Purpose
We are seeking a developer responsible for building and supporting applications. Your primary responsibility will be to design and develop these layers of our applications, and to coordinate with the rest of the team working on different layers of the infrastructure. A commitment to collaborative problem solving, sophisticated design, and quality product is essential.
Areas of responsibility may include but not limited to
Design:
- Translate business requirements into technical designs adhering to 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
Personal development:
- Keep abreast of current technological trends and how these might be applied in the 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
Knowledge – Processes:
- Design patterns
- Data modelling and design of database structures, including tools such as Enterprise Architect.
- Unit and Systems Integration testing
- SDLC methodologies (Agile, Waterfall, DevOps, etc) and tools (Jira, BitBucket, Quality Center, etc)
- GIT version control
Knowledge/experience – Technologies:
- Java programming language (Java 7 or later)
- Java EE
- JBoss/Weblogic EAP (or similar Application Server)
- Data layer (JPA, Domain Object Model, XML/XSD, JAXB, ORM frameworks, RDBMS – Oracle – and PL/SQL beneficial)
- Business services (EJB, RMI)
- Integration services (JMS, Apache Camel, REST / SOAP web services)
- Messaging systems (Tibco EMS, Oracle Advanced Queuing, MQ)
- Presentation layer technologies (Java Server Faces, Java Server Pages, HTML 5, JavaScript, jQuery, CSS3)
- Design patterns (DAO, Command pattern, MVC, etc)
- JUnit or JMock
- XML knowledge
- JSON knowledge
- SonarQube
- Build tools (Apache Ant, Maven, Jenkins, etc)
Personal Attributes:
- Self-starter who takes ownership and accountability and can work with minimal supervision – Most Important!
- Passionate about technology and development
- Results oriented with the ability to work under pressure and cope with multiple concurrent projects with changing priorities and deadlines
- Strong analytical and problem-solving skills
- Ability to deal with complexity and migrate between detailed and high-level requirements
- Excellent written and verbal communication skills
Education and Experience
- 3-year university degree in computer science or business informatics, or similar qualification, is highly preferable
- 3 or more years’ experience in building and maintaining Java applications is essential
Thank you,
Theresa Steenkamp
Key Account Manager – Network Contracting Solutions
Desired Skills:
- Java 7
- Java EE
- Business Services
- Build Tools