We’re looking for a Senior Back-End Java Developer with a strong focus on System design to join our client.
Our client’s core purpose is to make people healthier and to enhance their lives. They seek out and invest in exceptional individuals who understand and support their core purpose. Their environment is fast-paced and dynamic which enables smart, self-driven people to be their best.
What you’ll do:
- Perform a high-level impact analysis, establish Scope and provide estimates based on technical requirements.
- Create required planning tasks in SDLC tool and set due dates according to agreed milestones.
Analysis and Design:
- Actively participate in the collaborative technical design process.
- Research and find effective solutions to technical issues that arise.
- Ensure optimally performing system code in line with technical specifications, following prescribed process, architecture standards and procedures.
- Ensure delivery within agreed timeframes.
- Conduct unit testing and fix any defects found within the agreed SLA.
Quality and Testing:
- Perform peer code reviews to ensure consistent application of standards, logic and effective use of libraries and reusable aspects of the software.
- Develop and maintain reusable Unit Tests.
- Assist the Test Analyst in ensuring that a comprehensive test pack is produced, which includes all the required scenarios.
Risk and Release Management:
- Conform to the Build and Release cycles.
- Provide timeous support to the Quality Assurance Team when issues arise during testing.
- Handle all outstanding defects.
- Production Support and Root Cause management:
- Ensure that the root cause of system errors are effectively analysed and prioritized for fixing.
- Proactively bring issues and problems to the attention of the team and propose solutions to solve them.
- Assist system users and the infrastructure teams with technical support issues.
- Attend and participate in the regular team / project stand-ups.
- Actively mentor team members where required.
- Provide feedback at the regular 1-on-1’s with your leader.
- Proactively set goals, track them and address any concerns with your leader.
- Participate in Performance reviews with your line manager and project leads.
- Actively participate in internal up-skilling initiatives.
- Transfer knowledge and contribute to building a shared knowledge base.
- 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 functions and data models.
- 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
- Advanced 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)
- Design patterns (DAO, Command pattern, MVC, etc)
- Spring Framework ( Spring MVC , Spring Batch)
- JUnit or JMock
- XML and JSON knowledge
- Build tools (Apache Ant, Maven, Jenkins, etc)
Experience and Education:
- 3 year university degree in computer science or business informatics, or a similar qualification, is highly preferable
- 7 or more years experience in building and maintaining Java applications