
Java Developer (Fully remote or hybrid / Centurion)
Expertise
- ITC
Minimum Qualification
- BSc
Our client is looking for a Senior Java Developer with a minimum of 5 to 8 years of relevant software experience to perform high complexity (i.e. system-level applications) analysis, design, development and unit testing of software applications from user requirements and documents and to resolve defects encountered during various testing cycles.
The Role
Core responsibilities will include but are not limited to the following:
- Designing, coding, testing, debugging and implementing applications
- Applying critical thinking, design thinking and problem-solving skills in an agile team environment to solve complex technical problems (Front End, Back End, and Integration) with high-quality solutions
- Contributing to, and in some cases, leading all phases of the development lifecycle, including the design process
- Developing high-quality software, application design and architecture in a test-driven and domain driven / cross-domain environment
- Producing well-organised, optimised and documented source code to deliver technical solutions
- Ensuring designs and solutions support the technical organisation principles of self-service, repeatability, testability, scalability and resilience
- Accurately estimating the amount of time needed to implement a technical project
- Being responsible for the technical quality of the code in the domain
- Designing solutions with regard to classes, database design, and infrastructure design
- Developing features across multiple subsystems within the client’s domain, including collaboration in definition, prototyping, design, coding, testing and deployment
- Assisting analysts with requirement definitions, user stories, system design and specification preparation
- Preparing detailed workflow charts and diagrams that describe input, output and logical operation, and converting them into high-quality computer programs using specialised technology
- Reviewing existing implementations and models, identifying potential bugs or deficiencies and looking for possible improvements
- Consulting with engineering staff to evaluate the interface between hardware and software
- Attending project and agile team meetings
- Working in agile teams to complete programming assignments
- Staying up to date with industry developments
- Participating in design discussion, design reviews, code reviews and implementation
- After-hours support may be required
- Visiting client locations
- Strictly adhering to quality assurance procedure
- Identifying and communicating all areas that might be affected by a specific code change
Experience and Knowledge
- Having a proven track record of delivering well-crafted solutions and systems (exposure to mission-critical systems within the financial space is beneficial)
- Having a solid understanding of software engineering fundamentals
- Applications servers / environments: Jboss EAP / Wildfly
- Application Development platforms: Java, J2EE, JEE
- Application development frameworks/libraries: Java, EJB, JPA, Spring, Springboot, Hibernate, JMS, JTA, JAX-RS, JAX-WS, JSP, Servlet, JSF, Primefaces, Ajax, XML, Junit
- Security frameworks: JAAS, LDAP
- Reporting server: Tibco Jasper
- Tools/libraries: Git, Maven, BitBucket, Bamboo, Nexus, Jira, Slack, stash, Eclipse/Intelli
- Databases: Oracle
- Middleware Architecture & Systems Integration (SOA): SOAP, REST, SWIFT, FIX, SWIFT MX, MQ, IBM MQ, ActiveMQ, Apache Camel
- Operating systems: Linux, Windows
- Development methodologies: Agile, Test Driven Development, Extreme Programing