Job Brief

Areas of responsibility:

Planning:

  • Perform a high-level impact analysis, establish Scope and provide estimates based on technical requirements.
  • Proactively liaise with all stakeholders.
  • 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.
  • Update development timelines based on final requirements.
  • Liaise with the relevant subject matter experts where clarification is required.

Development:

  • Translate technical requirements into executable code without errors.
  • 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.
  • Escalate risks to the project early on.

Quality and Testing:

  • Run code through the automated code review tool, review errors with the technical lead and fix before committing to the code base.
  • 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.
  • Verify that the completed software meets the established standards and is fit for purpose.
  • Review the risk / impact of defects found in testing, prioritize and ensure that the priority is accurate.

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.

Team Collaboration:

  • Adhere to the culture of communication and collaboration across all teams.
  • 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.

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 functions and data models.

General:

  • Ability to communicate clearly, constructively and effectively. Able to follow and participate in technical, business process, and other discussions.
  • Able to build strong business relationships with other members of the 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

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)
  • Presentation layer technologies (Java Server Faces, Java Server Pages, HTML 5, JavaScript, jQuery, CSS3)
  • Design patterns (DAO, Command pattern, MVC, etc)
  • Spring Framework ( Spring MVC , Spring Batch)
  • Hibernate
  • 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
  • 7 or more years’ experience in building and maintaining Java applications

Desired Skills:

  • Design patterns
  • database structures
  • Enterprise Architect
  • Unit and Systems Integration testing
  • SDLC methodologies
  • Jira
  • BitBucket

About The Employer:

Reverside is a Global ICT company focusing on Digital Engineering, Integration, Cyber-Security, Cloud and Digital Transformation services with delivery centres in Johannesburg and Cape Town, South Africa and Gurgaon, India. Reverside has its Global Headquarter in South Africa and is a B-BBEE Level 1 IT consulting & services organization. Reverside was founded in 2006 and has since grown to a strong team of over 300+ consultants, serving more than 40+ active clients [URL Removed] – [URL Removed] – [URL Removed]

Learn more/Apply for this position